diff --git a/.all-contributorsrc b/.all-contributorsrc deleted file mode 100644 index 9790560134..0000000000 --- a/.all-contributorsrc +++ /dev/null @@ -1,259 +0,0 @@ -{ - "projectName": "dojo", - "projectOwner": "dojoengine", - "repoType": "github", - "repoHost": "https://github.com", - "files": [ - "README.md" - ], - "imageSize": 100, - "commit": true, - "commitConvention": "gitmoji", - "contributors": [ - { - "login": "tarrencev", - "name": "Tarrence van As", - "avatar_url": "https://avatars.githubusercontent.com/u/4740651?v=4", - "profile": "https://github.com/tarrencev", - "contributions": [ - "code" - ] - }, - { - "login": "enitrat", - "name": "Mathieu", - "avatar_url": "https://avatars.githubusercontent.com/u/60658558?v=4", - "profile": "https://github.com/enitrat", - "contributions": [ - "code" - ] - }, - { - "login": "shramee", - "name": "Shramee Srivastav", - "avatar_url": "https://avatars.githubusercontent.com/u/11048263?v=4", - "profile": "http://shramee.me/", - "contributions": [ - "code" - ] - }, - { - "login": "omahs", - "name": "omahs", - "avatar_url": "https://avatars.githubusercontent.com/u/73983677?v=4", - "profile": "https://github.com/omahs", - "contributions": [ - "code" - ] - }, - { - "login": "Larkooo", - "name": "Larko", - "avatar_url": "https://avatars.githubusercontent.com/u/59736843?v=4", - "profile": "https://github.com/Larkooo", - "contributions": [ - "code" - ] - }, - { - "login": "ponderingdemocritus", - "name": "Loaf", - "avatar_url": "https://avatars.githubusercontent.com/u/90423308?v=4", - "profile": "https://bibliothecadao.xyz/", - "contributions": [ - "code" - ] - }, - { - "login": "milancermak", - "name": "Milan Cermak", - "avatar_url": "https://avatars.githubusercontent.com/u/184055?v=4", - "profile": "https://milancermak.com/", - "contributions": [ - "code" - ] - }, - { - "login": "drspacemn", - "name": "drspacemn", - "avatar_url": "https://avatars.githubusercontent.com/u/16685321?v=4", - "profile": "https://github.com/drspacemn", - "contributions": [ - "code" - ] - }, - { - "login": "greged93", - "name": "greged93", - "avatar_url": "https://avatars.githubusercontent.com/u/82421016?v=4", - "profile": "https://github.com/greged93", - "contributions": [ - "code" - ] - }, - { - "login": "JunichiSugiura", - "name": "Junichi Sugiura", - "avatar_url": "https://avatars.githubusercontent.com/u/8398372?v=4", - "profile": "https://github.com/JunichiSugiura", - "contributions": [ - "code" - ] - }, - { - "login": "Cheelax", - "name": "Thomas Belloc", - "avatar_url": "https://avatars.githubusercontent.com/u/18716884?v=4", - "profile": "https://github.com/Cheelax", - "contributions": [ - "code" - ] - }, - { - "login": "broody", - "name": "Yun", - "avatar_url": "https://avatars.githubusercontent.com/u/610224?v=4", - "profile": "https://github.com/broody", - "contributions": [ - "code" - ] - }, - { - "login": "kariy", - "name": "Ammar Arif", - "avatar_url": "https://avatars.githubusercontent.com/u/26515232?v=4", - "profile": "https://github.com/kariy", - "contributions": [ - "code" - ] - }, - { - "login": "ftupas", - "name": "ftupas", - "avatar_url": "https://avatars.githubusercontent.com/u/35031356?v=4", - "profile": "https://github.com/ftupas", - "contributions": [ - "code" - ] - }, - { - "login": "whatthedev-eth", - "name": "whatthedev.eth", - "avatar_url": "https://avatars.githubusercontent.com/u/93558031?v=4", - "profile": "https://github.com/whatthedev-eth", - "contributions": [ - "code" - ] - }, - { - "login": "aymericdelab", - "name": "raschel", - "avatar_url": "https://avatars.githubusercontent.com/u/38816784?v=4", - "profile": "https://github.com/aymericdelab", - "contributions": [ - "code" - ] - }, - { - "login": "sparqet", - "name": "sparqet", - "avatar_url": "https://avatars.githubusercontent.com/u/37338401?v=4", - "profile": "https://github.com/sparqet", - "contributions": [ - "code" - ] - }, - { - "login": "rkdud007", - "name": "Pia", - "avatar_url": "https://avatars.githubusercontent.com/u/76558220?v=4", - "profile": "https://github.com/rkdud007", - "contributions": [ - "code" - ] - }, - { - "login": "bingcicle", - "name": "bing", - "avatar_url": "https://avatars.githubusercontent.com/u/25565268?v=4", - "profile": "https://github.com/bingcicle", - "contributions": [ - "code" - ] - }, - { - "login": "ptisserand", - "name": "ptisserand", - "avatar_url": "https://avatars.githubusercontent.com/u/544314?v=4", - "profile": "https://github.com/ptisserand", - "contributions": [ - "code" - ] - }, - { - "login": "glihm", - "name": "glihm", - "avatar_url": "https://avatars.githubusercontent.com/u/7962849?v=4", - "profile": "https://github.com/glihm", - "contributions": [ - "code" - ] - }, - { - "login": "coostendorp", - "name": "Caspar Oostendorp", - "avatar_url": "https://avatars.githubusercontent.com/u/4388195?v=4", - "profile": "https://github.com/coostendorp", - "contributions": [ - "code" - ] - }, - { - "login": "xJonathanLEI", - "name": "Jonathan LEI", - "avatar_url": "https://avatars.githubusercontent.com/u/19556359?v=4", - "profile": "https://github.com/xJonathanLEI", - "contributions": [ - "code" - ] - }, - { - "login": "neotheprogramist", - "name": "Paweł", - "avatar_url": "https://avatars.githubusercontent.com/u/128649481?v=4", - "profile": "https://github.com/neotheprogramist", - "contributions": [ - "code" - ] - }, - { - "login": "lambda-0x", - "name": "lambda-0x", - "avatar_url": "https://avatars.githubusercontent.com/u/87354252?v=4", - "profile": "https://github.com/lambda-0x", - "contributions": [ - "code" - ] - }, - { - "login": "bajpai244", - "name": "Harsh Bajpai", - "avatar_url": "https://avatars.githubusercontent.com/u/41180869?v=4", - "profile": "https://github.com/bajpai244", - "contributions": [ - "code" - ] - }, - { - "login": "jobez", - "name": "johann bestowrous", - "avatar_url": "https://avatars.githubusercontent.com/u/615197?v=4", - "profile": "https://github.com/jobez", - "contributions": [ - "code" - ] - } - ], - "contributorsPerLine": 7, - "linkToUsage": false -} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 6bff560acb..654a4ec9bc 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ // https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/rust { "name": "Rust", - "image": "ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12", + "image": "ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16", "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index 988b83220c..574a575f0c 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -14,7 +14,7 @@ jobs: bench-katana: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" @@ -36,7 +36,7 @@ jobs: bench-sozo: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d04f49f2c4..3cf3cca1e9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: needs: ensure-docker runs-on: ubuntu-latest-32-cores container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -40,12 +40,13 @@ jobs: name: dojo-bins path: /tmp/bins - run: | + export PATH=/tmp/bins:$PATH chmod +x /tmp/bins/katana chmod +x /tmp/bins/sozo bash scripts/build_cairo_projects.sh /tmp/bins/sozo tar -xzf spawn-and-move-db.tar.gz -C /tmp/ tar -xzf types-test-db.tar.gz -C /tmp/ - KATANA_RUNNER_BIN=/tmp/bins/katana cargo llvm-cov nextest --no-report --all-features --workspace --build-jobs 20 + cargo llvm-cov nextest --no-report --all-features --workspace --build-jobs 20 cargo llvm-cov report --lcov --output-path lcov.info - uses: codecov/codecov-action@v4 with: @@ -55,7 +56,7 @@ jobs: ensure-wasm: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -120,7 +121,7 @@ jobs: needs: build runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/download-artifact@v4 with: @@ -135,7 +136,7 @@ jobs: needs: build runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/download-artifact@v4 with: @@ -149,7 +150,7 @@ jobs: dojo-world-bindings-check: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -158,7 +159,7 @@ jobs: clippy: runs-on: ubuntu-latest-4-cores container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -167,7 +168,7 @@ jobs: fmt: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -176,7 +177,7 @@ jobs: docs: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 diff --git a/.github/workflows/release-dispatch.yml b/.github/workflows/release-dispatch.yml index 03152fdbfa..58c7dc345f 100644 --- a/.github/workflows/release-dispatch.yml +++ b/.github/workflows/release-dispatch.yml @@ -14,7 +14,7 @@ jobs: contents: write runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.12 + image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.16 env: VERSION: "" steps: diff --git a/.gitignore b/.gitignore index 75b10b8482..4f1f1adc1a 100644 --- a/.gitignore +++ b/.gitignore @@ -21,5 +21,6 @@ justfile spawn-and-move-db types-test-db examples/spawn-and-move/manifests/saya/** +**/*.log artifacts/ diff --git a/Cargo.lock b/Cargo.lock index 9ac82b8b1a..a006fa70ae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -15,14 +15,14 @@ dependencies = [ [[package]] name = "account_sdk" version = "0.1.0" -source = "git+https://github.com/cartridge-gg/controller?rev=fea57f1#fea57f16ba2c52e89311787aaaea8875b35e38f4" +source = "git+https://github.com/cartridge-gg/controller?rev=61d2fd0#61d2fd0cd856daa01b2da52b762368542c03da6f" dependencies = [ "anyhow", "async-trait", "auto_impl", "base64 0.22.1", "base64urlsafedata", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", "coset", "ecdsa", "futures", @@ -37,6 +37,7 @@ dependencies = [ "primitive-types", "reqwest 0.11.27", "serde", + "serde-wasm-bindgen", "serde_cbor_2", "serde_json", "serde_with 3.9.0", @@ -47,6 +48,7 @@ dependencies = [ "thiserror", "tokio", "toml 0.8.19", + "tsify-next", "u256-literal", "url", "urlencoding", @@ -164,7 +166,7 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-consensus 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-contract 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -209,13 +211,14 @@ dependencies = [ [[package]] name = "alloy-consensus" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-eips 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-primitives", "alloy-rlp", "alloy-serde 0.3.6 (git+https://github.com/alloy-rs/alloy)", "c-kzg", + "derive_more 1.0.0", "serde", ] @@ -242,7 +245,7 @@ dependencies = [ [[package]] name = "alloy-contract" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -330,7 +333,7 @@ dependencies = [ [[package]] name = "alloy-eips" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -347,7 +350,7 @@ dependencies = [ [[package]] name = "alloy-genesis" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-primitives", "alloy-serde 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -383,7 +386,7 @@ dependencies = [ [[package]] name = "alloy-json-rpc" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -417,7 +420,7 @@ dependencies = [ [[package]] name = "alloy-network" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-consensus 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-eips 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -449,7 +452,7 @@ dependencies = [ [[package]] name = "alloy-network-primitives" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-eips 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-primitives", @@ -460,12 +463,12 @@ dependencies = [ [[package]] name = "alloy-node-bindings" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-genesis", "alloy-primitives", "k256", - "rand", + "rand 0.8.5", "serde_json", "tempfile", "thiserror", @@ -489,7 +492,7 @@ dependencies = [ "k256", "keccak-asm", "proptest", - "rand", + "rand 0.8.5", "ruint", "serde", "tiny-keccak", @@ -532,7 +535,7 @@ dependencies = [ [[package]] name = "alloy-provider" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-chains", "alloy-consensus 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -611,7 +614,7 @@ dependencies = [ [[package]] name = "alloy-rpc-client" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-json-rpc 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-transport 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -631,7 +634,7 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-primitives", "alloy-serde 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -662,7 +665,7 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-consensus 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-eips 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -693,7 +696,7 @@ dependencies = [ [[package]] name = "alloy-serde" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-primitives", "serde", @@ -717,7 +720,7 @@ dependencies = [ [[package]] name = "alloy-signer" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-primitives", "async-trait", @@ -730,7 +733,7 @@ dependencies = [ [[package]] name = "alloy-signer-local" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-consensus 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-network 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -738,7 +741,7 @@ dependencies = [ "alloy-signer 0.3.6 (git+https://github.com/alloy-rs/alloy)", "async-trait", "k256", - "rand", + "rand 0.8.5", "thiserror", ] @@ -837,7 +840,7 @@ dependencies = [ [[package]] name = "alloy-transport" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-json-rpc 0.3.6 (git+https://github.com/alloy-rs/alloy)", "base64 0.22.1", @@ -870,7 +873,7 @@ dependencies = [ [[package]] name = "alloy-transport-http" version = "0.3.6" -source = "git+https://github.com/alloy-rs/alloy#57dd4c538293421c3d1a793cba79ad6f46d6444f" +source = "git+https://github.com/alloy-rs/alloy#04b1e0984b8661ef910b0ae88e1ef218db66b636" dependencies = [ "alloy-json-rpc 0.3.6 (git+https://github.com/alloy-rs/alloy)", "alloy-transport 0.3.6 (git+https://github.com/alloy-rs/alloy)", @@ -1138,7 +1141,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits 0.2.19", - "rand", + "rand 0.8.5", ] [[package]] @@ -1148,7 +1151,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits 0.2.19", - "rand", + "rand 0.8.5", ] [[package]] @@ -1818,9 +1821,9 @@ dependencies = [ [[package]] name = "bech32" -version = "0.9.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" [[package]] name = "beef" @@ -1907,7 +1910,7 @@ dependencies = [ "lazy_static", "lazycell", "log", - "prettyplease 0.2.22", + "prettyplease", "proc-macro2", "quote", "regex", @@ -1998,7 +2001,7 @@ dependencies = [ [[package]] name = "blockifier" version = "0.8.0-rc.3" -source = "git+https://github.com/dojoengine/sequencer?tag=v0.8.0-rc3.1#dd69217cdec340f9b5267b781be38eef972ac401" +source = "git+https://github.com/dojoengine/sequencer?tag=v0.8.0-rc3.2#d6951f24fc2082c7aa89cdbc063648915b131d74" dependencies = [ "anyhow", "ark-ec", @@ -2010,7 +2013,7 @@ dependencies = [ "cairo-lang-runner", "cairo-lang-starknet-classes", "cairo-lang-utils", - "cairo-vm", + "cairo-vm 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more 0.99.18", "indexmap 2.5.0", "itertools 0.10.5", @@ -2023,7 +2026,7 @@ dependencies = [ "once_cell", "paste", "phf", - "rand", + "rand 0.8.5", "rstest 0.17.0", "serde", "serde_json", @@ -2051,12 +2054,12 @@ dependencies = [ [[package]] name = "blockstore" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "358358b19add120a5afc3dd1c8e9161d6d06c44dfec2ef8da58b7fe5c369c90d" +checksum = "7679095248a6dc7555fae81154ed1baef264383c16621ef881a219576c72a9be" dependencies = [ "cid", - "dashmap 5.5.3", + "dashmap 6.1.0", "multihash 0.19.1", "thiserror", ] @@ -2289,10 +2292,35 @@ source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.1#db76fb849d1b7f3 dependencies = [ "anyhow", "async-trait", - "cainome-cairo-serde", - "cainome-parser", - "cainome-rs", - "cainome-rs-macro", + "cainome-cairo-serde 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", + "cainome-parser 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", + "cainome-rs 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", + "cainome-rs-macro 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", + "camino", + "clap", + "clap_complete", + "convert_case 0.6.0", + "serde", + "serde_json", + "starknet 0.12.0", + "starknet-types-core", + "thiserror", + "tracing", + "tracing-subscriber", + "url", +] + +[[package]] +name = "cainome" +version = "0.2.3" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.2#4e3924fb82b7299d56d3619aa5d7b9863f581e0a" +dependencies = [ + "anyhow", + "async-trait", + "cainome-cairo-serde 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "cainome-parser 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "cainome-rs 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "cainome-rs-macro 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", "camino", "clap", "clap_complete", @@ -2317,6 +2345,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "cainome-cairo-serde" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.2#4e3924fb82b7299d56d3619aa5d7b9863f581e0a" +dependencies = [ + "serde", + "starknet 0.12.0", + "thiserror", +] + [[package]] name = "cainome-parser" version = "0.1.0" @@ -2330,16 +2368,47 @@ dependencies = [ "thiserror", ] +[[package]] +name = "cainome-parser" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.2#4e3924fb82b7299d56d3619aa5d7b9863f581e0a" +dependencies = [ + "convert_case 0.6.0", + "quote", + "serde_json", + "starknet 0.12.0", + "syn 2.0.77", + "thiserror", +] + [[package]] name = "cainome-rs" version = "0.1.0" source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.1#db76fb849d1b7f3e9a2e943868bcd8616cf72e90" dependencies = [ "anyhow", - "cainome-cairo-serde", - "cainome-parser", + "cainome-cairo-serde 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", + "cainome-parser 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "camino", - "prettyplease 0.2.22", + "prettyplease", + "proc-macro2", + "quote", + "serde_json", + "starknet 0.12.0", + "syn 2.0.77", + "thiserror", +] + +[[package]] +name = "cainome-rs" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.2#4e3924fb82b7299d56d3619aa5d7b9863f581e0a" +dependencies = [ + "anyhow", + "cainome-cairo-serde 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "cainome-parser 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "camino", + "prettyplease", "proc-macro2", "quote", "serde_json", @@ -2354,9 +2423,9 @@ version = "0.1.0" source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.1#db76fb849d1b7f3e9a2e943868bcd8616cf72e90" dependencies = [ "anyhow", - "cainome-cairo-serde", - "cainome-parser", - "cainome-rs", + "cainome-cairo-serde 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", + "cainome-parser 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", + "cainome-rs 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "proc-macro-error", "proc-macro2", "quote", @@ -2367,16 +2436,21 @@ dependencies = [ ] [[package]] -name = "cairo-felt" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae932292b9ba497a4e892b56aa4e0c6f329a455180fdbdc132700dfe68d9b153" +name = "cainome-rs-macro" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cainome?tag=v0.4.2#4e3924fb82b7299d56d3619aa5d7b9863f581e0a" dependencies = [ - "lazy_static", - "num-bigint", - "num-integer", - "num-traits 0.2.19", - "serde", + "anyhow", + "cainome-cairo-serde 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "cainome-parser 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "cainome-rs 0.1.0 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.2)", + "proc-macro-error", + "proc-macro2", + "quote", + "serde_json", + "starknet 0.12.0", + "syn 2.0.77", + "thiserror", ] [[package]] @@ -2683,13 +2757,13 @@ dependencies = [ "cairo-lang-sierra-type-size", "cairo-lang-starknet", "cairo-lang-utils", - "cairo-vm", + "cairo-vm 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.12.1", "keccak", "num-bigint", "num-integer", "num-traits 0.2.19", - "rand", + "rand 0.8.5", "sha2 0.10.8", "smol_str", "starknet-types-core", @@ -2990,7 +3064,7 @@ version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bd5c8c127b9362a12ffb9dede38e792c81b4ded5a98b448baec157b745f47d1" dependencies = [ - "env_logger 0.11.5", + "env_logger", "hashbrown 0.14.5", "indexmap 2.5.0", "itertools 0.12.1", @@ -3005,19 +3079,20 @@ dependencies = [ [[package]] name = "cairo-proof-parser" -version = "0.3.0" -source = "git+https://github.com/cartridge-gg/cairo-proof-parser?branch=v0.3.0/new-felt#c2b95715c053c2ab81ae605ab30527ecbafa4f03" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cairo-proof-parser.git?rev=f175d58#f175d58b487cc32c073d1a92d6d367eff234993b" dependencies = [ "anyhow", "clap", "itertools 0.12.1", "num-bigint", + "prefix-hex", "regex", "serde", + "serde-felt", "serde_json", "starknet 0.11.0", "starknet-crypto 0.7.2", - "starknet-types-core", "tokio", "url", ] @@ -3041,7 +3116,42 @@ dependencies = [ "num-integer", "num-prime", "num-traits 0.2.19", - "rand", + "rand 0.8.5", + "rust_decimal", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "starknet-crypto 0.6.2", + "starknet-types-core", + "thiserror-no-std", + "zip", +] + +[[package]] +name = "cairo-vm" +version = "1.0.1" +source = "git+https://github.com/lambdaclass/cairo-vm.git?rev=93f1f54#93f1f54f38059af89850b1c06d4c901300f9b94d" +dependencies = [ + "anyhow", + "ark-ff 0.4.2", + "ark-std 0.4.0", + "bincode 2.0.0-rc.3", + "bitvec", + "cairo-lang-casm", + "cairo-lang-starknet", + "cairo-lang-starknet-classes", + "generic-array", + "hashbrown 0.14.5", + "hex", + "keccak", + "lazy_static", + "nom", + "num-bigint", + "num-integer", + "num-prime", + "num-traits 0.2.19", + "rand 0.8.5", "rust_decimal", "serde", "serde_json", @@ -3053,6 +3163,29 @@ dependencies = [ "zip", ] +[[package]] +name = "cairo1-playground" +version = "0.1.0" +source = "git+https://github.com/chudkowsky/cairo1-playground.git?rev=3fda965#3fda9656c76ceb2aff9cdf014b4a1b48aeba1549" +dependencies = [ + "cairo-lang-casm", + "cairo-lang-sierra", + "cairo-lang-sierra-ap-change", + "cairo-lang-sierra-to-casm", + "cairo-lang-sierra-type-size", + "cairo-lang-starknet-classes", + "cairo-lang-utils", + "cairo-vm 1.0.1 (git+https://github.com/lambdaclass/cairo-vm.git?rev=93f1f54)", + "clap", + "itertools 0.12.1", + "num-bigint", + "num-traits 0.2.19", + "serde", + "serde_json", + "starknet-types-core", + "thiserror", +] + [[package]] name = "camino" version = "1.1.9" @@ -3125,9 +3258,9 @@ dependencies = [ [[package]] name = "celestia-proto" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f22a6baf972f7277acfd5c4ff9b894df7db5b0aaecdb57b9b77b5679fff323e" +checksum = "4cde2c574760f88d5a6da8dfc55dbb79d91f4da15aa87b9e0d57d4d3a8fa5687" dependencies = [ "anyhow", "celestia-tendermint-proto", @@ -3139,14 +3272,14 @@ dependencies = [ [[package]] name = "celestia-rpc" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c891b0371a6ae5a37650f1806221185cad25a1e19a11031707b6239ac720f0df" +checksum = "d646d10aab818ffd785f841f42e16ed5875358f4e51d98a47a14ce07f093b3fc" dependencies = [ "async-trait", "celestia-types", - "http 0.2.12", - "jsonrpsee 0.20.4", + "http 1.1.0", + "jsonrpsee 0.24.6", "serde", "thiserror", "tracing", @@ -3201,11 +3334,11 @@ dependencies = [ [[package]] name = "celestia-types" -version = "0.2.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e20dce9a482131ec8a3c69c2cbe9b57bd838b26757952094e35397acb170b427" +checksum = "368ef03ae3e0ee840d5629414d58cfe822cef0d4ab92e04f4441b39f658d87d9" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bech32", "blockstore", "bytes", @@ -3225,6 +3358,7 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "thiserror", + "time", ] [[package]] @@ -3500,13 +3634,13 @@ dependencies = [ [[package]] name = "common" version = "0.1.0" -source = "git+https://github.com/cartridge-gg/http-prover?rev=7d00b05#7d00b05fec6bdf533d4110656c635a086d5872b7" +source = "git+https://github.com/cartridge-gg/http-prover?rev=24256d5#24256d530e60de5458956a858106cc6be1cbee17" dependencies = [ "ed25519-dalek", - "prefix-hex", "serde", "serde_json", "serde_with 3.9.0", + "starknet-types-core", ] [[package]] @@ -3521,7 +3655,7 @@ dependencies = [ "http 0.2.12", "mime", "mime_guess", - "rand", + "rand 0.8.5", "thiserror", ] @@ -3881,7 +4015,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "serdect", "subtle", "zeroize", @@ -3894,7 +4028,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "typenum", ] @@ -3973,7 +4107,7 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ "byteorder", "digest 0.9.0", - "rand_core", + "rand_core 0.6.4", "subtle-ng", "zeroize", ] @@ -4397,11 +4531,11 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "dojo-bindgen" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "assert_matches", "async-trait", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "camino", "chrono", "convert_case 0.6.0", @@ -4418,26 +4552,23 @@ dependencies = [ [[package]] name = "dojo-core" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" [[package]] name = "dojo-examples-spawn-and-move" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" [[package]] name = "dojo-lang" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", - "assert_fs", - "cainome", "cairo-lang-compiler", "cairo-lang-debug", "cairo-lang-defs", "cairo-lang-diagnostics", "cairo-lang-filesystem", "cairo-lang-formatter", - "cairo-lang-lowering", "cairo-lang-parser", "cairo-lang-plugins", "cairo-lang-project", @@ -4451,17 +4582,12 @@ dependencies = [ "cairo-lang-utils", "camino", "convert_case 0.6.0", - "directories", "dojo-test-utils", "dojo-types", "dojo-world", - "env_logger 0.10.2", "indoc 1.0.9", "itertools 0.12.1", - "lazy_static", - "num-traits 0.2.19", "once_cell", - "pretty_assertions", "regex", "salsa", "scarb", @@ -4469,12 +4595,9 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "serde_with 3.9.0", "smol_str", "starknet 0.12.0", - "starknet-crypto 0.7.2", "test-log", - "thiserror", "toml 0.8.19", "tracing", "url", @@ -4482,7 +4605,7 @@ dependencies = [ [[package]] name = "dojo-language-server" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "cairo-lang-language-server", "clap", @@ -4491,17 +4614,17 @@ dependencies = [ [[package]] name = "dojo-metrics" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "hyper 0.14.30", "jemalloc-ctl", "jemallocator", "metrics", + "metrics-derive", "metrics-exporter-prometheus", "metrics-process", "metrics-util", - "reth-metrics-derive", "thiserror", "tokio", "tracing", @@ -4509,15 +4632,11 @@ dependencies = [ [[package]] name = "dojo-test-utils" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "assert_fs", "async-trait", - "cairo-lang-compiler", - "cairo-lang-filesystem", - "cairo-lang-project", - "cairo-lang-starknet", "camino", "dojo-lang", "dojo-world", @@ -4526,28 +4645,21 @@ dependencies = [ "katana-executor", "katana-node", "katana-primitives", - "katana-rpc", - "katana-rpc-api", "scarb", "scarb-ui", "serde", "serde_json", - "serde_with 3.9.0", - "smol_str", - "starknet 0.10.0", "starknet 0.12.0", "thiserror", - "tokio", "toml 0.8.19", - "tracing", "url", ] [[package]] name = "dojo-types" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "crypto-bigint", "hex", "itertools 0.12.1", @@ -4562,7 +4674,7 @@ dependencies = [ [[package]] name = "dojo-utils" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "assert_matches", @@ -4577,13 +4689,13 @@ dependencies = [ [[package]] name = "dojo-world" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "assert_fs", "assert_matches", "async-trait", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "cairo-lang-filesystem", "cairo-lang-project", "cairo-lang-starknet", @@ -4619,7 +4731,7 @@ dependencies = [ [[package]] name = "dojo-world-abigen" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "cairo-lang-starknet", "cairo-lang-starknet-classes", @@ -4687,7 +4799,7 @@ checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" dependencies = [ "curve25519-dalek-ng", "hex", - "rand_core", + "rand_core 0.6.4", "sha2 0.9.9", "zeroize", ] @@ -4700,7 +4812,7 @@ checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core", + "rand_core 0.6.4", "serde", "sha2 0.10.8", "subtle", @@ -4731,7 +4843,7 @@ dependencies = [ "hkdf", "pem-rfc7468", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -4819,19 +4931,6 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.11.5" @@ -4894,7 +4993,7 @@ dependencies = [ "hex", "hmac", "pbkdf2", - "rand", + "rand 0.8.5", "scrypt", "serde", "serde_json", @@ -5015,7 +5114,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -5056,7 +5155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -5155,6 +5254,12 @@ dependencies = [ "libc", ] +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + [[package]] name = "funty" version = "2.0.0" @@ -6399,7 +6504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -6588,6 +6693,25 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +[[package]] +name = "herodotus_sharp_playground" +version = "0.1.0" +source = "git+https://github.com/chudkowsky/herodotus_sharp_playground.git?rev=db64bfd#db64bfd9869aee3348046c1d49182f2deb8950ff" +dependencies = [ + "anyhow", + "cairo-proof-parser", + "clap", + "reqwest 0.12.7", + "serde", + "serde_json", + "starknet-types-core", + "thiserror", + "tokio", + "tracing", + "tracing-log 0.1.4", + "tracing-subscriber", +] + [[package]] name = "hex" version = "0.4.3" @@ -6625,7 +6749,7 @@ dependencies = [ "idna 0.4.0", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "socket2 0.5.7", "thiserror", "tinyvec", @@ -6647,7 +6771,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "resolv-conf", "smallvec", "thiserror", @@ -7068,7 +7192,7 @@ dependencies = [ "http 0.2.12", "hyper 0.14.30", "log", - "rand", + "rand 0.8.5", "tokio", "url", "xmltree", @@ -7282,7 +7406,7 @@ dependencies = [ "async-trait", "bytes", "log", - "rand", + "rand 0.8.5", "rtcp", "rtp 0.9.0", "thiserror", @@ -7497,6 +7621,20 @@ dependencies = [ "jiff-tzdb", ] +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine 4.6.7", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + [[package]] name = "jni" version = "0.21.1" @@ -7556,15 +7694,15 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.20.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138572befc78a9793240645926f30161f8b4143d2be18d09e44ed9814bd7ee2c" +checksum = "02f01f48e04e0d7da72280ab787c9943695699c9b32b99158ece105e8ad0afea" dependencies = [ - "jsonrpsee-core 0.20.4", - "jsonrpsee-http-client 0.20.4", - "jsonrpsee-proc-macros 0.20.4", - "jsonrpsee-types 0.20.4", - "jsonrpsee-ws-client 0.20.4", + "jsonrpsee-core 0.24.6", + "jsonrpsee-http-client 0.24.6", + "jsonrpsee-proc-macros 0.24.6", + "jsonrpsee-types 0.24.6", + "jsonrpsee-ws-client 0.24.6", "tracing", ] @@ -7595,19 +7733,22 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.20.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c671353e4adf926799107bd7f5724a06b6bc0a333db442a0843c58640bdd0c1" +checksum = "d80eccbd47a7b9f1e67663fd846928e941cb49c65236e297dd11c9ea3c5e3387" dependencies = [ + "base64 0.22.1", "futures-util", - "http 0.2.12", - "jsonrpsee-core 0.20.4", + "http 1.1.0", + "jsonrpsee-core 0.24.6", "pin-project", - "rustls-native-certs 0.6.3", - "soketto 0.7.1", + "rustls 0.23.13", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto 0.8.0", "thiserror", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.26.0", "tokio-util", "tracing", "url", @@ -7631,7 +7772,7 @@ dependencies = [ "hyper 0.14.30", "jsonrpsee-types 0.16.3", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "rustc-hash 1.1.0", "serde", "serde_json", @@ -7644,23 +7785,25 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.20.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f24ea59b037b6b9b0e2ebe2c30a3e782b56bd7c76dcc5d6d70ba55d442af56e3" +checksum = "3c2709a32915d816a6e8f625bf72cf74523ebe5d8829f895d6b041b1d3137818" dependencies = [ - "anyhow", - "async-lock 2.8.0", "async-trait", - "beef", + "bytes", "futures-timer", "futures-util", - "hyper 0.14.30", - "jsonrpsee-types 0.20.4", - "rustc-hash 1.1.0", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types 0.24.6", + "pin-project", + "rustc-hash 2.0.0", "serde", "serde_json", "thiserror", "tokio", + "tokio-stream", "tracing", ] @@ -7685,15 +7828,20 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.20.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c7b9f95208927653e7965a98525e7fc641781cab89f0e27c43fa2974405683" +checksum = "cc54db939002b030e794fbfc9d5a925aa2854889c5a2f0352b0bffa54681707e" dependencies = [ "async-trait", - "hyper 0.14.30", - "hyper-rustls 0.24.2", - "jsonrpsee-core 0.20.4", - "jsonrpsee-types 0.20.4", + "base64 0.22.1", + "http-body 1.0.1", + "hyper 1.4.1", + "hyper-rustls 0.27.3", + "hyper-util", + "jsonrpsee-core 0.24.6", + "jsonrpsee-types 0.24.6", + "rustls 0.23.13", + "rustls-platform-verifier", "serde", "serde_json", "thiserror", @@ -7718,15 +7866,15 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.20.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc0eba68ba205452bcb4c7b80a79ddcb3bf36c261a841b239433142db632d24" +checksum = "3a9a4b2eaba8cc928f49c4ccf4fcfa65b690a73997682da99ed08f3393b51f07" dependencies = [ - "heck 0.4.1", - "proc-macro-crate 1.1.3", + "heck 0.5.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] @@ -7767,16 +7915,14 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.20.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3264e339143fe37ed081953842ee67bfafa99e3b91559bdded6e4abd8fc8535e" +checksum = "1ca331cd7b3fe95b33432825c2d4c9f5a43963e207fdc01ae67f9fd80ab0930f" dependencies = [ - "anyhow", - "beef", + "http 1.1.0", "serde", "serde_json", "thiserror", - "tracing", ] [[package]] @@ -7804,14 +7950,14 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.20.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d06eeabbb55f0af8405288390a358ebcceb6e79e1390741e6f152309c4d6076" +checksum = "755ca3da1c67671f1fae01cd1a47f41dfb2233a8f19a643e587ab0a663942044" dependencies = [ - "http 0.2.12", - "jsonrpsee-client-transport 0.20.4", - "jsonrpsee-core 0.20.4", - "jsonrpsee-types 0.20.4", + "http 1.1.0", + "jsonrpsee-client-transport 0.24.6", + "jsonrpsee-core 0.24.6", + "jsonrpsee-types 0.24.6", "url", ] @@ -7830,7 +7976,7 @@ dependencies = [ [[package]] name = "katana" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-primitives", "anyhow", @@ -7845,8 +7991,6 @@ dependencies = [ "katana-db", "katana-node", "katana-primitives", - "katana-rpc", - "katana-rpc-api", "katana-slot-controller", "serde_json", "shellexpand", @@ -7859,7 +8003,7 @@ dependencies = [ [[package]] name = "katana-cairo" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "cairo-lang-casm", "cairo-lang-runner", @@ -7868,13 +8012,13 @@ dependencies = [ "cairo-lang-starknet", "cairo-lang-starknet-classes", "cairo-lang-utils", - "cairo-vm", + "cairo-vm 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "starknet_api", ] [[package]] name = "katana-codecs" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "bytes", "katana-primitives", @@ -7882,7 +8026,7 @@ dependencies = [ [[package]] name = "katana-codecs-derive" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "proc-macro2", "quote", @@ -7892,7 +8036,7 @@ dependencies = [ [[package]] name = "katana-core" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-contract 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "alloy-network 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -7931,7 +8075,7 @@ dependencies = [ [[package]] name = "katana-db" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "criterion", @@ -7953,7 +8097,7 @@ dependencies = [ [[package]] name = "katana-executor" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-primitives", "anyhow", @@ -7980,24 +8124,27 @@ dependencies = [ [[package]] name = "katana-node" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "dojo-metrics", + "futures", "hyper 0.14.30", "jsonrpsee 0.16.3", "katana-core", "katana-db", "katana-executor", + "katana-pipeline", "katana-pool", "katana-primitives", "katana-provider", "katana-rpc", "katana-rpc-api", "katana-tasks", - "num-traits 0.2.19", "serde_json", "starknet 0.12.0", + "strum 0.25.0", + "strum_macros 0.25.3", "tower 0.4.13", "tower-http 0.4.4", "tracing", @@ -8005,8 +8152,9 @@ dependencies = [ [[package]] name = "katana-node-bindings" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ + "regex", "serde", "serde_json", "starknet 0.12.0", @@ -8017,16 +8165,32 @@ dependencies = [ "url", ] +[[package]] +name = "katana-pipeline" +version = "1.0.0-alpha.16" +dependencies = [ + "anyhow", + "async-trait", + "futures", + "katana-core", + "katana-executor", + "katana-pool", + "katana-tasks", + "thiserror", + "tokio", + "tracing", +] + [[package]] name = "katana-pool" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "futures", "katana-executor", "katana-primitives", "katana-provider", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "thiserror", "tokio", "tracing", @@ -8034,7 +8198,7 @@ dependencies = [ [[package]] name = "katana-primitives" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-primitives", "anyhow", @@ -8046,7 +8210,8 @@ dependencies = [ "lazy_static", "num-bigint", "num-traits 0.2.19", - "rand", + "postcard", + "rand 0.8.5", "rstest 0.18.2", "serde", "serde_json", @@ -8054,25 +8219,23 @@ dependencies = [ "similar-asserts", "starknet 0.12.0", "starknet-crypto 0.7.2", - "strum_macros 0.25.3", "thiserror", ] [[package]] name = "katana-provider" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-primitives", "anyhow", "auto_impl", "futures", - "katana-core", "katana-db", "katana-primitives", "katana-runner", "lazy_static", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "rstest 0.18.2", "rstest_reuse", "serde_json", @@ -8086,13 +8249,13 @@ dependencies = [ [[package]] name = "katana-rpc" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy", "alloy-primitives", "anyhow", "assert_matches", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "dojo-metrics", "dojo-test-utils", "dojo-utils", @@ -8110,11 +8273,10 @@ dependencies = [ "katana-rpc-api", "katana-rpc-types", "katana-rpc-types-builder", - "katana-runner", "katana-tasks", "metrics", "num-traits 0.2.19", - "rand", + "rand 0.8.5", "rstest 0.18.2", "serde", "serde_json", @@ -8128,7 +8290,7 @@ dependencies = [ [[package]] name = "katana-rpc-api" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "jsonrpsee 0.16.3", "katana-core", @@ -8139,7 +8301,7 @@ dependencies = [ [[package]] name = "katana-rpc-types" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-primitives", "anyhow", @@ -8163,7 +8325,7 @@ dependencies = [ [[package]] name = "katana-rpc-types-builder" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "katana-executor", @@ -8175,7 +8337,7 @@ dependencies = [ [[package]] name = "katana-runner" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "assert_fs", @@ -8191,17 +8353,16 @@ dependencies = [ [[package]] name = "katana-runner-macro" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "proc-macro2", "quote", - "starknet 0.12.0", "syn 2.0.77", ] [[package]] name = "katana-slot-controller" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-primitives", "anyhow", @@ -8219,7 +8380,7 @@ dependencies = [ [[package]] name = "katana-tasks" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "futures", "rayon", @@ -8400,9 +8561,9 @@ dependencies = [ "getrandom", "libp2p-allow-block-list", "libp2p-connection-limits", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-dns", - "libp2p-gossipsub 0.47.1", + "libp2p-gossipsub", "libp2p-identify", "libp2p-identity", "libp2p-mdns", @@ -8411,14 +8572,14 @@ dependencies = [ "libp2p-ping", "libp2p-quic", "libp2p-relay", - "libp2p-swarm 0.45.1", + "libp2p-swarm", "libp2p-tcp", "libp2p-upnp", "libp2p-websocket", "libp2p-yamux", "multiaddr 0.18.1", "pin-project", - "rw-stream-sink 0.4.0 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", + "rw-stream-sink", "thiserror", ] @@ -8427,9 +8588,9 @@ name = "libp2p-allow-block-list" version = "0.4.1" source = "git+https://github.com/libp2p/rust-libp2p?rev=cdc9638#cdc9638ac1256f8a5305adb2f50a188de8874a0f" dependencies = [ - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", - "libp2p-swarm 0.45.1", + "libp2p-swarm", "void", ] @@ -8438,38 +8599,10 @@ name = "libp2p-connection-limits" version = "0.4.0" source = "git+https://github.com/libp2p/rust-libp2p?rev=cdc9638#cdc9638ac1256f8a5305adb2f50a188de8874a0f" dependencies = [ - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "void", -] - -[[package]] -name = "libp2p-core" -version = "0.41.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a8920cbd8540059a01950c1e5c96ea8d89eb50c51cd366fc18bdf540a6e48f" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", + "libp2p-core", "libp2p-identity", - "multiaddr 0.18.1", - "multihash 0.19.1", - "multistream-select 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell", - "parking_lot 0.12.3", - "pin-project", - "quick-protobuf", - "rand", - "rw-stream-sink 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec", - "thiserror", - "tracing", - "unsigned-varint 0.8.0", + "libp2p-swarm", "void", - "web-time", ] [[package]] @@ -8484,13 +8617,13 @@ dependencies = [ "libp2p-identity", "multiaddr 0.18.1", "multihash 0.19.1", - "multistream-select 0.13.0 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", + "multistream-select", "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand", - "rw-stream-sink 0.4.0 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", + "rand 0.8.5", + "rw-stream-sink", "smallvec", "thiserror", "tracing", @@ -8507,44 +8640,13 @@ dependencies = [ "async-trait", "futures", "hickory-resolver", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "parking_lot 0.12.3", "smallvec", "tracing", ] -[[package]] -name = "libp2p-gossipsub" -version = "0.46.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d665144a616dadebdc5fff186b1233488cdcd8bfb1223218ff084b6d052c94f7" -dependencies = [ - "asynchronous-codec", - "base64 0.21.7", - "byteorder", - "bytes", - "either", - "fnv", - "futures", - "futures-ticker", - "getrandom", - "hex_fmt", - "instant", - "libp2p-core 0.41.3", - "libp2p-identity", - "libp2p-swarm 0.44.2", - "prometheus-client", - "quick-protobuf", - "quick-protobuf-codec 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand", - "regex", - "sha2 0.10.8", - "smallvec", - "tracing", - "void", -] - [[package]] name = "libp2p-gossipsub" version = "0.47.1" @@ -8560,13 +8662,13 @@ dependencies = [ "futures-ticker", "getrandom", "hex_fmt", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", - "libp2p-swarm 0.45.1", + "libp2p-swarm", "prometheus-client", "quick-protobuf", - "quick-protobuf-codec 0.3.1 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", - "rand", + "quick-protobuf-codec", + "rand 0.8.5", "regex", "sha2 0.10.8", "smallvec", @@ -8585,12 +8687,12 @@ dependencies = [ "futures", "futures-bounded", "futures-timer", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", - "libp2p-swarm 0.45.1", + "libp2p-swarm", "lru", "quick-protobuf", - "quick-protobuf-codec 0.3.1 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", + "quick-protobuf-codec", "smallvec", "thiserror", "tracing", @@ -8608,7 +8710,7 @@ dependencies = [ "hkdf", "multihash 0.19.1", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2 0.10.8", "thiserror", "tracing", @@ -8624,10 +8726,10 @@ dependencies = [ "futures", "hickory-proto", "if-watch", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", - "libp2p-swarm 0.45.1", - "rand", + "libp2p-swarm", + "rand 0.8.5", "smallvec", "socket2 0.5.7", "tokio", @@ -8641,13 +8743,13 @@ version = "0.15.0" source = "git+https://github.com/libp2p/rust-libp2p?rev=cdc9638#cdc9638ac1256f8a5305adb2f50a188de8874a0f" dependencies = [ "futures", - "libp2p-core 0.42.0", - "libp2p-gossipsub 0.47.1", + "libp2p-core", + "libp2p-gossipsub", "libp2p-identify", "libp2p-identity", "libp2p-ping", "libp2p-relay", - "libp2p-swarm 0.45.1", + "libp2p-swarm", "pin-project", "prometheus-client", "web-time", @@ -8662,13 +8764,13 @@ dependencies = [ "bytes", "curve25519-dalek", "futures", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "multiaddr 0.18.1", "multihash 0.19.1", "once_cell", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2 0.10.8", "snow", "static_assertions", @@ -8686,10 +8788,10 @@ dependencies = [ "either", "futures", "futures-timer", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", - "libp2p-swarm 0.45.1", - "rand", + "libp2p-swarm", + "rand 0.8.5", "tracing", "void", "web-time", @@ -8704,12 +8806,12 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "libp2p-tls", "parking_lot 0.12.3", "quinn", - "rand", + "rand 0.8.5", "ring 0.17.8", "rustls 0.23.13", "socket2 0.5.7", @@ -8729,12 +8831,12 @@ dependencies = [ "futures", "futures-bounded", "futures-timer", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", - "libp2p-swarm 0.45.1", + "libp2p-swarm", "quick-protobuf", - "quick-protobuf-codec 0.3.1 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", - "rand", + "quick-protobuf-codec", + "rand 0.8.5", "static_assertions", "thiserror", "tracing", @@ -8742,28 +8844,6 @@ dependencies = [ "web-time", ] -[[package]] -name = "libp2p-swarm" -version = "0.44.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80cae6cb75f89dbca53862f9ebe0b9f463aa7b302762fcfaafb9e51dcc9b0f7e" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.41.3", - "libp2p-identity", - "lru", - "multistream-select 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell", - "rand", - "smallvec", - "tracing", - "void", -] - [[package]] name = "libp2p-swarm" version = "0.45.1" @@ -8774,13 +8854,13 @@ dependencies = [ "futures", "futures-timer", "getrandom", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "libp2p-swarm-derive", "lru", - "multistream-select 0.13.0 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", + "multistream-select", "once_cell", - "rand", + "rand 0.8.5", "smallvec", "tokio", "tracing", @@ -8809,7 +8889,7 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "socket2 0.5.7", "tokio", @@ -8823,9 +8903,9 @@ source = "git+https://github.com/libp2p/rust-libp2p?rev=cdc9638#cdc9638ac1256f8a dependencies = [ "futures", "futures-rustls", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", - "rcgen 0.11.3", + "rcgen", "ring 0.17.8", "rustls 0.23.13", "rustls-webpki 0.101.7", @@ -8842,8 +8922,8 @@ dependencies = [ "futures", "futures-timer", "igd-next", - "libp2p-core 0.42.0", - "libp2p-swarm 0.45.1", + "libp2p-core", + "libp2p-swarm", "tokio", "tracing", "void", @@ -8860,13 +8940,13 @@ dependencies = [ "futures-timer", "hex", "if-watch", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "libp2p-noise", "libp2p-webrtc-utils", "multihash 0.19.1", - "rand", - "rcgen 0.11.3", + "rand 0.8.5", + "rcgen", "serde", "stun 0.6.0", "thiserror", @@ -8886,12 +8966,12 @@ dependencies = [ "bytes", "futures", "hex", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "libp2p-noise", "quick-protobuf", - "quick-protobuf-codec 0.3.1 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", - "rand", + "quick-protobuf-codec", + "rand 0.8.5", "serde", "sha2 0.10.8", "thiserror", @@ -8909,7 +8989,7 @@ dependencies = [ "getrandom", "hex", "js-sys", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "libp2p-webrtc-utils", "send_wrapper 0.6.0", @@ -8928,11 +9008,11 @@ dependencies = [ "either", "futures", "futures-rustls", - "libp2p-core 0.42.0", + "libp2p-core", "libp2p-identity", "parking_lot 0.12.3", "pin-project-lite", - "rw-stream-sink 0.4.0 (git+https://github.com/libp2p/rust-libp2p?rev=cdc9638)", + "rw-stream-sink", "soketto 0.8.0", "thiserror", "tracing", @@ -8948,7 +9028,7 @@ dependencies = [ "bytes", "futures", "js-sys", - "libp2p-core 0.42.0", + "libp2p-core", "parking_lot 0.12.3", "send_wrapper 0.6.0", "thiserror", @@ -8964,7 +9044,7 @@ source = "git+https://github.com/libp2p/rust-libp2p?rev=cdc9638#cdc9638ac1256f8a dependencies = [ "either", "futures", - "libp2p-core 0.42.0", + "libp2p-core", "thiserror", "tracing", "yamux 0.12.1", @@ -9184,6 +9264,18 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "metrics-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.77", +] + [[package]] name = "metrics-exporter-prometheus" version = "0.15.3" @@ -9428,32 +9520,12 @@ dependencies = [ "synstructure 0.12.6", ] -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - [[package]] name = "multimap" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" -[[package]] -name = "multistream-select" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" -dependencies = [ - "bytes", - "futures", - "log", - "pin-project", - "smallvec", - "unsigned-varint 0.7.2", -] - [[package]] name = "multistream-select" version = "0.13.0" @@ -9622,11 +9694,13 @@ dependencies = [ [[package]] name = "nmt-rs" -version = "0.1.0" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e787133eafbd0f386dc4e26828a50f7595d6d7213ea0e8244c1ca6b9a9648c30" +checksum = "e408e823bdc9b4bb525a61b44e846239833a8f9bd86c03a43e4ca314a5497582" dependencies = [ + "borsh", "bytes", + "serde", "sha2 0.10.8", ] @@ -9689,7 +9763,7 @@ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits 0.2.19", - "rand", + "rand 0.8.5", "serde", ] @@ -9705,7 +9779,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits 0.2.19", - "rand", + "rand 0.8.5", "smallvec", "zeroize", ] @@ -9791,7 +9865,7 @@ dependencies = [ "num-integer", "num-modular", "num-traits 0.2.19", - "rand", + "rand 0.8.5", ] [[package]] @@ -10135,7 +10209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ "base64ct", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -10284,7 +10358,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ "phf_shared 0.11.2", - "rand", + "rand 0.8.5", ] [[package]] @@ -10583,16 +10657,6 @@ dependencies = [ "yansi 1.0.1", ] -[[package]] -name = "prettyplease" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" -dependencies = [ - "proc-macro2", - "syn 1.0.109", -] - [[package]] name = "prettyplease" version = "0.2.22" @@ -10780,7 +10844,7 @@ dependencies = [ "bitflags 2.6.0", "lazy_static", "num-traits 0.2.19", - "rand", + "rand 0.8.5", "rand_chacha", "rand_xorshift", "regex-syntax 0.8.4", @@ -10791,62 +10855,61 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", - "prost-derive 0.11.9", + "prost-derive 0.12.6", ] [[package]] name = "prost" -version = "0.12.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" dependencies = [ "bytes", - "prost-derive 0.12.6", + "prost-derive 0.13.3", ] [[package]] name = "prost-build" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck 0.4.1", - "itertools 0.10.5", - "lazy_static", + "heck 0.5.0", + "itertools 0.12.1", "log", - "multimap 0.8.3", + "multimap", + "once_cell", "petgraph", - "prettyplease 0.1.25", - "prost 0.11.9", - "prost-types 0.11.9", + "prettyplease", + "prost 0.12.6", + "prost-types 0.12.6", "regex", - "syn 1.0.109", + "syn 2.0.77", "tempfile", - "which 4.4.2", ] [[package]] name = "prost-build" -version = "0.12.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" dependencies = [ "bytes", "heck 0.5.0", - "itertools 0.12.1", + "itertools 0.13.0", "log", - "multimap 0.10.0", + "multimap", "once_cell", "petgraph", - "prettyplease 0.2.22", - "prost 0.12.6", - "prost-types 0.12.6", + "prettyplease", + "prost 0.13.3", + "prost-types 0.13.3", "regex", "syn 2.0.77", "tempfile", @@ -10854,25 +10917,25 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.13.0", "proc-macro2", "quote", "syn 2.0.77", @@ -10880,39 +10943,38 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ - "prost 0.11.9", + "prost 0.12.6", ] [[package]] name = "prost-types" -version = "0.12.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" dependencies = [ - "prost 0.12.6", + "prost 0.13.3", ] [[package]] name = "prover-sdk" version = "0.1.0" -source = "git+https://github.com/cartridge-gg/http-prover?rev=7d00b05#7d00b05fec6bdf533d4110656c635a086d5872b7" +source = "git+https://github.com/cartridge-gg/http-prover?rev=24256d5#24256d530e60de5458956a858106cc6be1cbee17" dependencies = [ - "bytes", + "base64 0.22.1", "common", "ed25519-dalek", - "http 1.1.0", - "hyper-util", + "futures", "prefix-hex", - "rand", + "rand 0.8.5", "reqwest 0.12.7", "reqwest_cookie_store", "serde", "serde_json", - "serde_with 3.9.0", + "starknet-types-core", "thiserror", "tokio", "tracing", @@ -10985,19 +11047,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "quick-protobuf-codec" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" -dependencies = [ - "asynchronous-codec", - "bytes", - "quick-protobuf", - "thiserror", - "unsigned-varint 0.8.0", -] - [[package]] name = "quick-protobuf-codec" version = "0.3.1" @@ -11045,7 +11094,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "ring 0.17.8", "rustc-hash 2.0.0", "rustls 0.23.13", @@ -11103,6 +11152,19 @@ dependencies = [ "nibble_vec", ] +[[package]] +name = "rand" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" +dependencies = [ + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "rdrand", + "winapi", +] + [[package]] name = "rand" version = "0.8.5" @@ -11111,7 +11173,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -11121,9 +11183,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", ] +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + [[package]] name = "rand_core" version = "0.6.4" @@ -11139,7 +11216,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -11197,16 +11274,12 @@ dependencies = [ ] [[package]] -name = "rcgen" -version = "0.13.1" +name = "rdrand" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" dependencies = [ - "pem", - "ring 0.17.8", - "rustls-pki-types", - "time", - "yasna", + "rand_core 0.3.1", ] [[package]] @@ -11297,6 +11370,15 @@ version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + [[package]] name = "rend" version = "0.4.2" @@ -11348,7 +11430,7 @@ dependencies = [ "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams 0.4.0", + "wasm-streams", "web-sys", "webpki-roots 0.25.4", "winreg", @@ -11378,6 +11460,7 @@ dependencies = [ "js-sys", "log", "mime", + "mime_guess", "native-tls", "once_cell", "percent-encoding", @@ -11393,10 +11476,12 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-rustls 0.26.0", + "tokio-util", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams", "web-sys", "webpki-roots 0.26.6", "windows-registry", @@ -11449,18 +11534,6 @@ dependencies = [ "libc", ] -[[package]] -name = "reth-metrics-derive" -version = "1.0.3" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.3#390f30aadebcdd509e72cc04327c3b854de076a6" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "regex", - "syn 2.0.77", -] - [[package]] name = "rfc6979" version = "0.4.0" @@ -11593,7 +11666,7 @@ dependencies = [ "num-traits 0.2.19", "pkcs1", "pkcs8", - "rand_core", + "rand_core 0.6.4", "signature", "spki", "subtle", @@ -11662,7 +11735,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88530b681abe67924d42cca181d070e3ac20e0740569441a9e35a7cedd2b34a4" dependencies = [ "quote", - "rand", + "rand 0.8.5", "rustc_version 0.4.1", "syn 2.0.77", ] @@ -11710,7 +11783,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e60482acbe8afb31edf6b1413103b7bca7a65004c423b3c3993749a083994fbe" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "serde", "thiserror", "webrtc-util 0.8.1", @@ -11723,7 +11796,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47fca9bd66ae0b1f3f649b8f5003d6176433d7293b78b0fce7e1031816bdd99d" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "serde", "thiserror", "webrtc-util 0.8.1", @@ -11745,7 +11818,7 @@ dependencies = [ "parity-scale-codec", "primitive-types", "proptest", - "rand", + "rand 0.8.5", "rlp", "ruint-macro", "serde", @@ -11769,7 +11842,7 @@ dependencies = [ "borsh", "bytes", "num-traits 0.2.19", - "rand", + "rand 0.8.5", "rkyv", "serde", "serde_json", @@ -11971,22 +12044,49 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "rustls-webpki" -version = "0.102.8" +name = "rustls-platform-verifier" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni 0.19.0", + "log", + "once_cell", + "rustls 0.23.13", + "rustls-native-certs 0.7.3", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.8", + "security-framework", + "security-framework-sys", + "webpki-roots 0.26.6", + "winapi", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "aws-lc-rs", + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "aws-lc-rs", "ring 0.17.8", "rustls-pki-types", "untrusted 0.9.0", @@ -12010,17 +12110,6 @@ dependencies = [ "wait-timeout", ] -[[package]] -name = "rw-stream-sink" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" -dependencies = [ - "futures", - "pin-project", - "static_assertions", -] - [[package]] name = "rw-stream-sink" version = "0.4.0" @@ -12086,17 +12175,13 @@ dependencies = [ [[package]] name = "saya" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", - "cairo-proof-parser", "clap", "console", "dojo-utils", - "katana-primitives", - "katana-rpc-api", "saya-core", - "serde_json", "starknet 0.12.0", "starknet-crypto 0.7.2", "tokio", @@ -12108,31 +12193,31 @@ dependencies = [ [[package]] name = "saya-core" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "async-trait", "bigdecimal 0.4.5", - "cairo-felt", "cairo-proof-parser", + "cairo1-playground", "celestia-rpc", "celestia-types", "dojo-utils", "futures", + "herodotus_sharp_playground", "itertools 0.12.1", "katana-primitives", "katana-provider", "katana-rpc-types", - "num-bigint", - "num-traits 0.2.19", - "once_cell", "prover-sdk", + "reqwest 0.12.7", "saya-provider", "serde", + "serde-felt", "serde_json", "starknet 0.12.0", "starknet-crypto 0.7.2", - "starknet-types-core", + "tempdir", "thiserror", "tokio", "tracing", @@ -12141,7 +12226,7 @@ dependencies = [ [[package]] name = "saya-provider" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "alloy-primitives", "anyhow", @@ -12330,13 +12415,15 @@ dependencies = [ [[package]] name = "scheduler" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ + "anyhow", "clap", "katana-primitives", "saya-core", "serde", "serde_json", + "starknet 0.12.0", "tokio", "url", ] @@ -12406,7 +12493,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13254db766b17451aced321e7397ebf0a446ef0c8d2942b6e67a95815421093f" dependencies = [ - "rand", + "rand 0.8.5", "substring", "thiserror", "url", @@ -12442,6 +12529,7 @@ dependencies = [ "core-foundation", "core-foundation-sys", "libc", + "num-bigint", "security-framework-sys", ] @@ -12506,6 +12594,16 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-felt" +version = "0.1.0" +source = "git+https://github.com/cartridge-gg/cairo-proof-parser.git?rev=f175d58#f175d58b487cc32c073d1a92d6d367eff234993b" +dependencies = [ + "serde", + "starknet-crypto 0.7.2", + "starknet-ff", +] + [[package]] name = "serde-untagged" version = "0.1.6" @@ -12527,6 +12625,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde-wasm-bindgen" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + [[package]] name = "serde_bytes" version = "0.11.15" @@ -12856,14 +12965,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "simdutf8" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "similar" @@ -12908,8 +13017,8 @@ dependencies = [ [[package]] name = "slot" -version = "0.16.0" -source = "git+https://github.com/cartridge-gg/slot?rev=630ed37#630ed377d55662847d2219c8662f6d0867f3e2fb" +version = "0.18.0" +source = "git+https://github.com/cartridge-gg/slot?rev=1298a30#1298a302db76767e28af5cbce842acdfb507bb29" dependencies = [ "account_sdk", "anyhow", @@ -12921,7 +13030,6 @@ dependencies = [ "reqwest 0.12.7", "serde", "serde_json", - "serde_with 3.9.0", "starknet 0.12.0", "tempfile", "thiserror", @@ -12980,7 +13088,7 @@ dependencies = [ "blake2", "chacha20poly1305", "curve25519-dalek", - "rand_core", + "rand_core 0.6.4", "ring 0.17.8", "rustc_version 0.4.1", "sha2 0.10.8", @@ -13019,7 +13127,7 @@ dependencies = [ "http 0.2.12", "httparse", "log", - "rand", + "rand 0.8.5", "sha-1", ] @@ -13034,19 +13142,19 @@ dependencies = [ "futures", "httparse", "log", - "rand", + "rand 0.8.5", "sha1", ] [[package]] name = "sozo" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "assert_fs", "async-trait", "bigdecimal 0.4.5", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "cairo-lang-compiler", "cairo-lang-defs", "cairo-lang-filesystem", @@ -13104,13 +13212,13 @@ dependencies = [ [[package]] name = "sozo-ops" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "assert_fs", "async-trait", "bigdecimal 0.4.5", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "cairo-lang-compiler", "cairo-lang-defs", "cairo-lang-filesystem", @@ -13150,7 +13258,6 @@ dependencies = [ "sozo-walnut", "starknet 0.12.0", "starknet-crypto 0.7.2", - "tee", "thiserror", "tokio", "toml 0.8.19", @@ -13160,7 +13267,7 @@ dependencies = [ [[package]] name = "sozo-signers" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "starknet 0.12.0", @@ -13168,7 +13275,7 @@ dependencies = [ [[package]] name = "sozo-walnut" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "console", @@ -13357,7 +13464,7 @@ dependencies = [ "memchr", "once_cell", "percent-encoding", - "rand", + "rand 0.8.5", "rsa", "serde", "sha1", @@ -13398,7 +13505,7 @@ dependencies = [ "md-5", "memchr", "once_cell", - "rand", + "rand 0.8.5", "serde", "serde_json", "sha2 0.10.8", @@ -13443,22 +13550,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "starknet" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20b9a7b7bfd87287af85854f7458b8170ba6aa59c39113436532b7ff3d2fcbd8" -dependencies = [ - "starknet-accounts 0.9.0", - "starknet-contract 0.9.0", - "starknet-core 0.10.0", - "starknet-crypto 0.6.2", - "starknet-ff", - "starknet-macros 0.1.7", - "starknet-providers 0.10.0", - "starknet-signers 0.8.0", -] - [[package]] name = "starknet" version = "0.11.0" @@ -13469,7 +13560,7 @@ dependencies = [ "starknet-contract 0.10.0", "starknet-core 0.11.1", "starknet-crypto 0.7.2", - "starknet-macros 0.2.1", + "starknet-macros", "starknet-providers 0.11.0", "starknet-signers 0.9.0", ] @@ -13484,25 +13575,11 @@ dependencies = [ "starknet-contract 0.11.0", "starknet-core 0.12.0", "starknet-crypto 0.7.2", - "starknet-macros 0.2.1", + "starknet-macros", "starknet-providers 0.12.0", "starknet-signers 0.10.0", ] -[[package]] -name = "starknet-accounts" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2095d7584608ae1707bd1cf2889368ab3734d9f54e4fcef4765cba1f3b3f7618" -dependencies = [ - "async-trait", - "auto_impl", - "starknet-core 0.10.0", - "starknet-providers 0.10.0", - "starknet-signers 0.8.0", - "thiserror", -] - [[package]] name = "starknet-accounts" version = "0.10.0" @@ -13533,21 +13610,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "starknet-contract" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3b73d437b4d62241612d13fce612602de6684c149cccf696e76a20757e2156" -dependencies = [ - "serde", - "serde_json", - "serde_with 2.3.3", - "starknet-accounts 0.9.0", - "starknet-core 0.10.0", - "starknet-providers 0.10.0", - "thiserror", -] - [[package]] name = "starknet-contract" version = "0.10.0" @@ -13578,24 +13640,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "starknet-core" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed286d637e34fb8ae1cd2f9615120ec8ff38d1cffd311ed7fdd497cdd2bd01f" -dependencies = [ - "base64 0.21.7", - "flate2", - "hex", - "serde", - "serde_json", - "serde_json_pythonic", - "serde_with 2.3.3", - "sha3", - "starknet-crypto 0.6.2", - "starknet-ff", -] - [[package]] name = "starknet-core" version = "0.11.1" @@ -13742,20 +13786,9 @@ dependencies = [ "crypto-bigint", "getrandom", "hex", - "num-bigint", "serde", ] -[[package]] -name = "starknet-macros" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95d549d3078bdbe775d0deaa8ddb57a19942989ce7c1f2dfd60beeb322bb4945" -dependencies = [ - "starknet-core 0.10.0", - "syn 2.0.77", -] - [[package]] name = "starknet-macros" version = "0.2.1" @@ -13766,26 +13799,6 @@ dependencies = [ "syn 2.0.77", ] -[[package]] -name = "starknet-providers" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6abf40ffcbe3b887b4d5cfc8ab73170c816b4aa78d1d4ad59abd3fb3b0f53cd" -dependencies = [ - "async-trait", - "auto_impl", - "ethereum-types", - "flate2", - "log", - "reqwest 0.11.27", - "serde", - "serde_json", - "serde_with 2.3.3", - "starknet-core 0.10.0", - "thiserror", - "url", -] - [[package]] name = "starknet-providers" version = "0.11.0" @@ -13828,22 +13841,6 @@ dependencies = [ "url", ] -[[package]] -name = "starknet-signers" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9a2bd4fd66090003c3b7f0d76476e5b63cd44f6a49ede2442673f4427d5a40" -dependencies = [ - "async-trait", - "auto_impl", - "crypto-bigint", - "eth-keystore", - "rand", - "starknet-core 0.10.0", - "starknet-crypto 0.6.2", - "thiserror", -] - [[package]] name = "starknet-signers" version = "0.9.0" @@ -13855,7 +13852,7 @@ dependencies = [ "crypto-bigint", "eth-keystore", "getrandom", - "rand", + "rand 0.8.5", "starknet-core 0.11.1", "starknet-crypto 0.7.2", "thiserror", @@ -13872,7 +13869,7 @@ dependencies = [ "crypto-bigint", "eth-keystore", "getrandom", - "rand", + "rand 0.8.5", "starknet-core 0.12.0", "starknet-crypto 0.7.2", "thiserror", @@ -13896,7 +13893,7 @@ dependencies = [ [[package]] name = "starknet_api" version = "0.13.0-rc.1" -source = "git+https://github.com/dojoengine/sequencer?tag=v0.8.0-rc3.1#dd69217cdec340f9b5267b781be38eef972ac401" +source = "git+https://github.com/dojoengine/sequencer?tag=v0.8.0-rc3.2#d6951f24fc2082c7aa89cdbc063648915b131d74" dependencies = [ "bitvec", "cairo-lang-starknet-classes", @@ -14037,7 +14034,7 @@ dependencies = [ "crc", "lazy_static", "md-5", - "rand", + "rand 0.8.5", "ring 0.17.8", "subtle", "thiserror", @@ -14056,7 +14053,7 @@ dependencies = [ "crc", "lazy_static", "md-5", - "rand", + "rand 0.8.5", "ring 0.17.8", "subtle", "thiserror", @@ -14241,10 +14238,14 @@ dependencies = [ ] [[package]] -name = "tee" -version = "0.1.0" +name = "tempdir" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c12559dba7383625faaff75be24becf35bfc885044375bcab931111799a3da" +checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" +dependencies = [ + "rand 0.4.6", + "remove_dir_all", +] [[package]] name = "tempfile" @@ -14270,15 +14271,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "termtree" version = "0.4.1" @@ -14291,7 +14283,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" dependencies = [ - "env_logger 0.11.5", + "env_logger", "test-log-macros", "tracing-subscriber", ] @@ -14622,22 +14614,31 @@ dependencies = [ [[package]] name = "tonic" -version = "0.9.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" dependencies = [ + "async-stream", "async-trait", + "axum 0.6.20", "base64 0.21.7", "bytes", "flate2", - "futures-core", - "futures-util", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", + "hyper 0.14.30", + "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.11.9", + "prost 0.12.6", + "rustls-native-certs 0.7.3", + "rustls-pemfile 2.1.3", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.25.0", "tokio-stream", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -14645,30 +14646,21 @@ dependencies = [ [[package]] name = "tonic" -version = "0.11.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ - "async-stream", "async-trait", - "axum 0.6.20", - "base64 0.21.7", + "base64 0.22.1", "bytes", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-timeout", + "flate2", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "percent-encoding", "pin-project", - "prost 0.12.6", - "rustls-native-certs 0.7.3", - "rustls-pemfile 2.1.3", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.25.0", + "prost 0.13.3", "tokio-stream", - "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -14676,26 +14668,27 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.9.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07" +checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" dependencies = [ - "prettyplease 0.1.25", + "prettyplease", "proc-macro2", - "prost-build 0.11.9", + "prost-build 0.12.6", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "tonic-build" -version = "0.11.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" +checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" dependencies = [ - "prettyplease 0.2.22", + "prettyplease", "proc-macro2", - "prost-build 0.12.6", + "prost-build 0.13.3", + "prost-types 0.13.3", "quote", "syn 2.0.77", ] @@ -14735,25 +14728,26 @@ dependencies = [ [[package]] name = "tonic-web-wasm-client" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac5987e92915a51a4b05e69a0ef903a7b76f16674f7ee66534f87fd3323e2d3a" +checksum = "ef5ca6e7bdd0042c440d36b6df97c1436f1d45871ce18298091f114004b1beb4" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "byteorder", "bytes", "futures-util", - "http 0.2.12", - "http-body 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "httparse", "js-sys", "pin-project", "thiserror", - "tonic 0.9.2", + "tonic 0.12.3", "tower-service", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams 0.3.0", + "wasm-streams", "web-sys", ] @@ -14765,7 +14759,7 @@ checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" [[package]] name = "torii" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "async-trait", @@ -14792,6 +14786,7 @@ dependencies = [ "sqlx", "starknet 0.12.0", "starknet-crypto 0.7.2", + "tempfile", "tokio", "tokio-stream", "tokio-util", @@ -14810,7 +14805,7 @@ dependencies = [ [[package]] name = "torii-client" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "async-trait", "camino", @@ -14819,11 +14814,10 @@ dependencies = [ "dojo-world", "futures", "futures-util", - "libp2p-gossipsub 0.46.1", "num-traits 0.2.19", "parking_lot 0.12.3", - "prost 0.11.9", "prost 0.12.6", + "prost 0.13.3", "serde", "serde_json", "starknet 0.12.0", @@ -14831,7 +14825,7 @@ dependencies = [ "thiserror", "tokio", "tonic 0.11.0", - "tonic 0.9.2", + "tonic 0.12.3", "torii-grpc", "torii-relay", "url", @@ -14839,16 +14833,15 @@ dependencies = [ [[package]] name = "torii-core" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "async-trait", "base64 0.21.7", "bitflags 2.6.0", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "camino", "chrono", - "clap", "crypto-bigint", "dojo-test-utils", "dojo-types", @@ -14857,40 +14850,34 @@ dependencies = [ "futures-channel", "futures-util", "hashlink 0.9.1", - "hex", "katana-runner", - "lazy_static", - "log", "num-traits 0.2.19", "once_cell", "reqwest 0.12.7", "scarb", - "scarb-ui", "serde", "serde_json", "slab", - "sozo-ops", "sqlx", "starknet 0.12.0", "starknet-crypto 0.7.2", + "tempfile", "thiserror", "tokio", - "tokio-stream", "tokio-util", + "toml 0.8.19", "tracing", ] [[package]] name = "torii-graphql" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", "async-graphql", "async-graphql-warp", "async-recursion", - "async-trait", "base64 0.21.7", - "cainome", "camino", "chrono", "convert_case 0.6.0", @@ -14902,20 +14889,18 @@ dependencies = [ "lazy_static", "regex", "scarb", - "scarb-ui", "serde", "serde_json", "serial_test", - "sozo-ops", "sqlx", "starknet 0.12.0", "starknet-crypto 0.7.2", "strum 0.25.0", "strum_macros 0.25.3", + "tempfile", "thiserror", "tokio", "tokio-stream", - "tokio-util", "toml 0.8.19", "torii-core", "tracing", @@ -14925,10 +14910,9 @@ dependencies = [ [[package]] name = "torii-grpc" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ - "bytes", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "camino", "crypto-bigint", "dojo-test-utils", @@ -14937,51 +14921,47 @@ dependencies = [ "dojo-world", "futures", "futures-util", - "hex", + "http 0.2.12", "hyper 0.14.30", - "itertools 0.12.1", "katana-runner", "num-traits 0.2.19", - "parking_lot 0.12.3", - "prost 0.11.9", "prost 0.12.6", - "rand", + "prost 0.13.3", + "rand 0.8.5", "rayon", "scarb", "serde", "serde_json", - "sozo-ops", "sqlx", "starknet 0.12.0", "starknet-crypto 0.7.2", "strum 0.25.0", "strum_macros 0.25.3", + "tempfile", "thiserror", "tokio", "tokio-stream", "tonic 0.11.0", - "tonic 0.9.2", + "tonic 0.12.3", "tonic-build 0.11.0", - "tonic-build 0.9.2", + "tonic-build 0.12.3", "tonic-reflection", "tonic-web", "tonic-web-wasm-client", "torii-core", "tower 0.4.13", + "tower-http 0.4.4", "tracing", - "url", ] [[package]] name = "torii-relay" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "anyhow", - "async-trait", - "cainome", + "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.4.1)", "chrono", "crypto-bigint", - "dojo-test-utils", "dojo-types", "dojo-world", "futures", @@ -14991,9 +14971,7 @@ dependencies = [ "libp2p-webrtc", "libp2p-webrtc-websys", "libp2p-websocket-websys", - "rand", - "rcgen 0.13.1", - "regex", + "rand 0.8.5", "serde", "serde_json", "sqlx", @@ -15013,7 +14991,7 @@ dependencies = [ [[package]] name = "torii-server" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "base64 0.21.7", "http 0.2.12", @@ -15043,7 +15021,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand", + "rand 0.8.5", "slab", "tokio", "tokio-util", @@ -15275,6 +15253,31 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "tsify-next" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4a645dca4ee0800f5ab60ce166deba2db6a0315de795a2691e138a3d55d756" +dependencies = [ + "gloo-utils 0.2.0", + "serde", + "serde_json", + "tsify-next-macros", + "wasm-bindgen", +] + +[[package]] +name = "tsify-next-macros" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d5c06f8a51d759bb58129e30b2631739e7e1e4579fad1f30ac09a6c88e488a6" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.77", +] + [[package]] name = "tungstenite" version = "0.21.0" @@ -15287,7 +15290,7 @@ dependencies = [ "http 1.1.0", "httparse", "log", - "rand", + "rand 0.8.5", "sha1", "thiserror", "url", @@ -15305,7 +15308,7 @@ dependencies = [ "futures", "log", "md-5", - "rand", + "rand 0.8.5", "ring 0.17.8", "stun 0.5.1", "thiserror", @@ -15348,7 +15351,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "types-test" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" [[package]] name = "u256-literal" @@ -15584,6 +15587,19 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "verify_db_balances" +version = "1.0.0-alpha.16" +dependencies = [ + "clap", + "num-traits 0.2.19", + "sqlx", + "starknet 0.12.0", + "tokio", + "tracing", + "tracing-subscriber", +] + [[package]] name = "version_check" version = "0.9.5" @@ -15773,19 +15789,6 @@ dependencies = [ "syn 2.0.77", ] -[[package]] -name = "wasm-streams" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "wasm-streams" version = "0.4.0" @@ -15854,7 +15857,7 @@ checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" dependencies = [ "core-foundation", "home", - "jni", + "jni 0.21.1", "log", "ndk-context", "objc", @@ -15903,8 +15906,8 @@ dependencies = [ "lazy_static", "log", "pem", - "rand", - "rcgen 0.11.3", + "rand 0.8.5", + "rcgen", "regex", "ring 0.16.20", "rtcp", @@ -15966,9 +15969,9 @@ dependencies = [ "p256", "p384", "pem", - "rand", - "rand_core", - "rcgen 0.11.3", + "rand 0.8.5", + "rand_core 0.6.4", + "rcgen", "ring 0.16.20", "rustls 0.21.12", "sec1", @@ -15993,7 +15996,7 @@ dependencies = [ "async-trait", "crc", "log", - "rand", + "rand 0.8.5", "serde", "serde_json", "stun 0.5.1", @@ -16028,7 +16031,7 @@ checksum = "280017b6b9625ef7329146332518b339c3cceff231cc6f6a9e0e6acab25ca4af" dependencies = [ "byteorder", "bytes", - "rand", + "rand 0.8.5", "rtp 0.10.0", "thiserror", ] @@ -16044,7 +16047,7 @@ dependencies = [ "bytes", "crc", "log", - "rand", + "rand 0.8.5", "thiserror", "tokio", "webrtc-util 0.8.1", @@ -16087,7 +16090,7 @@ dependencies = [ "libc", "log", "nix 0.26.4", - "rand", + "rand 0.8.5", "thiserror", "tokio", "winapi", @@ -16108,7 +16111,7 @@ dependencies = [ "log", "nix 0.26.4", "portable-atomic", - "rand", + "rand 0.8.5", "thiserror", "tokio", "winapi", @@ -16546,7 +16549,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ "curve25519-dalek", - "rand_core", + "rand_core 0.6.4", "serde", "zeroize", ] @@ -16629,7 +16632,7 @@ checksum = "9d422e8e38ec76e2f06ee439ccc765e9c6a9638b9e7c9f2e8255e4d41e8bd852" [[package]] name = "xtask-generate-test-db" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" dependencies = [ "dojo-test-utils", "dojo-utils", @@ -16658,7 +16661,7 @@ dependencies = [ "nohash-hasher", "parking_lot 0.12.3", "pin-project", - "rand", + "rand 0.8.5", "static_assertions", ] @@ -16673,7 +16676,7 @@ dependencies = [ "nohash-hasher", "parking_lot 0.12.3", "pin-project", - "rand", + "rand 0.8.5", "static_assertions", "web-time", ] diff --git a/Cargo.toml b/Cargo.toml index 0e5ed4668d..e38f987188 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,6 @@ members = [ "bin/scheduler", "bin/sozo", "bin/torii", - # "crates/benches", "crates/dojo-bindgen", "crates/dojo-core", "crates/dojo-lang", @@ -22,6 +21,7 @@ members = [ "crates/katana/executor", "crates/katana/node", "crates/katana/node-bindings", + "crates/katana/pipeline", "crates/katana/pool", "crates/katana/primitives", "crates/katana/rpc/rpc", @@ -44,6 +44,7 @@ members = [ "crates/torii/server", "crates/torii/types-test", "examples/spawn-and-move", + "scripts/verify_db_balances", "xtask/generate-test-db", ] @@ -52,7 +53,7 @@ edition = "2021" license = "Apache-2.0" license-file = "LICENSE" repository = "https://github.com/dojoengine/dojo/" -version = "1.0.0-alpha.13" +version = "1.0.0-alpha.16" [profile.performance] codegen-units = 1 @@ -87,6 +88,7 @@ katana-db = { path = "crates/katana/storage/db" } katana-executor = { path = "crates/katana/executor" } katana-node = { path = "crates/katana/node", default-features = false } katana-node-bindings = { path = "crates/katana/node-bindings" } +katana-pipeline = { path = "crates/katana/pipeline" } katana-pool = { path = "crates/katana/pool" } katana-primitives = { path = "crates/katana/primitives" } katana-provider = { path = "crates/katana/storage/provider" } @@ -115,7 +117,7 @@ sozo-ops = { path = "crates/sozo/ops" } sozo-signers = { path = "crates/sozo/signers" } sozo-walnut = { path = "crates/sozo/walnut" } -anyhow = "1.0.80" +anyhow = "1.0.89" assert_fs = "1.1" assert_matches = "1.5.0" async-trait = "0.1.82" @@ -123,33 +125,32 @@ auto_impl = "1.2.0" base64 = "0.21.2" bigdecimal = "0.4.1" bytes = "1.6" -cairo-lang-compiler = "=2.7.0" -cairo-lang-debug = "=2.7.0" -cairo-lang-defs = "=2.7.0" -cairo-lang-diagnostics = "=2.7.0" -cairo-lang-filesystem = "=2.7.0" -cairo-lang-formatter = "=2.7.0" -cairo-lang-language-server = "=2.7.0" -cairo-lang-lowering = "=2.7.0" -cairo-lang-parser = "=2.7.0" -cairo-lang-plugins = { version = "=2.7.0", features = [ "testing" ] } -cairo-lang-project = "=2.7.0" -cairo-lang-semantic = "=2.7.0" -cairo-lang-sierra = "=2.7.0" -cairo-lang-sierra-generator = "=2.7.0" -cairo-lang-sierra-to-casm = "=2.7.0" -cairo-lang-starknet = "=2.7.0" -cairo-lang-starknet-classes = "=2.7.0" -cairo-lang-syntax = "=2.7.0" -cairo-lang-test-plugin = "=2.7.0" -cairo-lang-test-runner = "=2.7.0" -cairo-lang-test-utils = "=2.7.0" -cairo-lang-utils = "=2.7.0" -cairo-proof-parser = { git = "https://github.com/cartridge-gg/cairo-proof-parser", branch = "v0.3.0/new-felt" } +cairo-lang-compiler = "2.7.0" +cairo-lang-debug = "2.7.0" +cairo-lang-defs = "2.7.0" +cairo-lang-diagnostics = "2.7.0" +cairo-lang-filesystem = "2.7.0" +cairo-lang-formatter = "2.7.0" +cairo-lang-language-server = "2.7.0" +cairo-lang-lowering = "2.7.0" +cairo-lang-parser = "2.7.0" +cairo-lang-plugins = { version = "2.7.0", features = [ "testing" ] } +cairo-lang-project = "2.7.0" +cairo-lang-semantic = "2.7.0" +cairo-lang-sierra = "2.7.0" +cairo-lang-sierra-generator = "2.7.0" +cairo-lang-sierra-to-casm = "2.7.0" +cairo-lang-starknet = "2.7.0" +cairo-lang-starknet-classes = "2.7.0" +cairo-lang-syntax = "2.7.0" +cairo-lang-test-plugin = "2.7.0" +cairo-lang-test-runner = "2.7.0" +cairo-lang-test-utils = "2.7.0" +cairo-lang-utils = "2.7.0" cairo-vm = "1.0.0-rc4" camino = { version = "1.1.2", features = [ "serde1" ] } chrono = { version = "0.4.24", features = [ "serde" ] } -clap = { version = "4.5.4", features = [ "derive" ] } +clap = { version = "4.5.16", features = [ "derive", "env" ] } clap-verbosity-flag = "2.0.1" clap_complete = "4.3" console = "0.15.7" @@ -172,11 +173,12 @@ metrics = "0.23.0" num-traits = { version = "0.2", default-features = false } once_cell = "1.0" parking_lot = "0.12.1" +postcard = { version = "1.0.10", features = [ "use-std" ], default-features = false } pretty_assertions = "1.2.1" rand = "0.8.5" rayon = "1.8.0" regex = "1.10.3" -reqwest = { version = "0.12", features = [ "blocking", "json", "rustls-tls" ], default-features = false } +reqwest = { version = "0.12.7", features = [ "blocking", "json", "rustls-tls" ], default-features = false } rpassword = "7.2.0" rstest = "0.18.2" rstest_reuse = "0.6.0" @@ -197,6 +199,7 @@ tempfile = "3.9.0" test-log = "0.2.11" thiserror = "1.0.32" tokio = { version = "1.39.2", features = [ "full" ] } +tokio-util = "0.7.12" toml = "0.8" tower = "0.4.13" tower-http = "0.4.4" @@ -212,16 +215,16 @@ warp = "0.3" # gRPC prost = "0.12" -tonic = { version = "0.11", features = [ "tls", "tls-roots" ] } +tonic = { version = "0.11", features = [ "tls", "tls-roots", "gzip" ] } tonic-build = "0.11" tonic-reflection = "0.11" tonic-web = "0.11" # WASM-compatible gRPC deps -tonic-web-wasm-client = "0.4.0" -wasm-prost = { version = "0.11.9", package = "prost" } -wasm-tonic = { version = "0.9.2", default-features = false, features = [ "codegen", "gzip", "prost" ], package = "tonic" } -wasm-tonic-build = { version = "0.9.2", default-features = false, features = [ "prost" ], package = "tonic-build" } +tonic-web-wasm-client = "0.6.0" +wasm-prost = { version = "0.13", package = "prost" } +wasm-tonic = { version = "0.12", default-features = false, features = [ "codegen", "gzip", "prost" ], package = "tonic" } +wasm-tonic-build = { version = "0.12", default-features = false, features = [ "prost" ], package = "tonic-build" } alloy-primitives = { version = "0.8.3", default-features = false } alloy-sol-types = { version = "0.8.3", default-features = false } @@ -229,7 +232,7 @@ alloy-sol-types = { version = "0.8.3", default-features = false } criterion = "0.5.1" # Slot integration. Dojo don't need to manually include `account_sdk` as dependency as `slot` already re-exports it. -slot = { git = "https://github.com/cartridge-gg/slot", rev = "630ed37" } +slot = { git = "https://github.com/cartridge-gg/slot", rev = "1298a30" } alloy-contract = { version = "0.3", default-features = false } alloy-json-rpc = { version = "0.3", default-features = false } diff --git a/Dockerfile b/Dockerfile index 80430b625c..7fa88ebd24 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM debian:bookworm-slim as builder -RUN apt-get update && apt install -y git libtool automake autoconf make +RUN apt-get update && apt install -y git libtool automake autoconf make tini RUN git clone https://github.com/Comcast/Infinite-File-Curtailer.git curtailer \ && cd curtailer \ @@ -16,9 +16,7 @@ RUN git clone https://github.com/Comcast/Infinite-File-Curtailer.git curtailer \ FROM debian:bookworm-slim as base -ENV TINI_VERSION v0.19.0 -ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini -RUN chmod +x /tini +COPY --from=builder /usr/bin/tini /tini ENTRYPOINT ["/tini", "--"] ARG TARGETPLATFORM diff --git a/benches.txt b/benches.txt deleted file mode 100644 index b1273abbdc..0000000000 --- a/benches.txt +++ /dev/null @@ -1,100 +0,0 @@ - bench empty: 0 - bench empty: 0 - case db get: 754172 - case db get: 754172 - case db set: 338382 - case db set: 338382 - case init: 770 - case init: 770 - case serialize: 4610 - case serialize: 4610 - case values: 36120 - case values: 36120 - char get macro: 11009694 - char get macro: 11009694 - chars db get: 10136764 - chars db get: 10136764 - chars db set: 5028344 - chars db set: 5028344 - char set call: 6048284 - char set call: 6048284 - chars init: 770 - chars init: 770 -chars serialize: 18920 -chars serialize: 18920 - chars values: 22070 - chars values: 22070 - db del arr: 14240 - db del arr: 14240 - db get arr: 1026188 - db get arr: 1026188 -db get half arr: 725458 -db get half arr: 725458 - dbi scan arr 1: 452574 - dbi scan arr 1: 452574 - dbi scan arr 2: 804778 - dbi scan arr 2: 804778 -dbi set arr 1st: 482514 -dbi set arr 1st: 482514 -dbi set arr 2nd: 482334 -dbi set arr 2nd: 482334 - db set arr: 854708 - db set arr: 854708 - foo get macro: 1021934 - foo get macro: 1021934 - foo init: 770 - foo init: 770 - foo serialize: 2220 - foo serialize: 2220 - foo set call: 813314 - foo set call: 813314 - foo values: 12160 - foo values: 12160 -idx create 1000: 189333070 -idx create 1000: 189333070 - idx create 1st: 78280 - idx create 1st: 78280 -idx dlt !1000 0: 164350 -idx dlt !1000 0: 164350 - idx dlt 1000: 110300 - idx dlt 1000: 110300 -idx dlt !1000 >: 261360 -idx dlt !1000 >: 261360 - idx dlt last: 284480 - idx dlt last: 284480 - idx dlt !last: 285040 - idx dlt !last: 285040 - idx empty: 185890 - idx empty: 185890 -idx exists 1000: 14240 -idx exists 1000: 14240 - idx exists chk: 40520 - idx exists chk: 40520 - idx query 1000: 40716000 - idx query 1000: 40716000 - idx query 2nd: 187780 - idx query 2nd: 187780 - idx query one: 119120 - idx query one: 119120 - idx query two: 159580 - idx query two: 159580 - native prep: 11600 - native prep: 11600 - native prep of: 11600 - native prep of: 11600 - native read: 17880 - native read: 17880 - native read of: 17880 - native read of: 17880 - native write: 17260 - native write: 17260 - native writ of: 17260 - native writ of: 17260 - storage get: 36860 - storage get: 36860 -storage get mny: 297124 -storage get mny: 297124 - storage set: 36600 - storage set: 36600 -storage set mny: 283984 -storage set mny: 283984 diff --git a/bin/katana/Cargo.toml b/bin/katana/Cargo.toml index 82980bee6e..371e024ca0 100644 --- a/bin/katana/Cargo.toml +++ b/bin/katana/Cargo.toml @@ -11,8 +11,6 @@ katana-core.workspace = true katana-db.workspace = true katana-node.workspace = true katana-primitives.workspace = true -katana-rpc.workspace = true -katana-rpc-api.workspace = true katana-slot-controller = { workspace = true, optional = true } alloy-primitives.workspace = true @@ -35,9 +33,8 @@ url.workspace = true assert_matches.workspace = true [features] -default = [ "jemalloc", "messaging", "slot" ] +default = [ "jemalloc", "slot" ] jemalloc = [ ] -messaging = [ "katana-node/messaging" ] slot = [ "dep:katana-slot-controller", "katana-primitives/slot" ] starknet-messaging = [ "katana-node/starknet-messaging" ] diff --git a/bin/katana/src/cli/node.rs b/bin/katana/src/cli/node.rs index f4b062b4d1..6c56d56d22 100644 --- a/bin/katana/src/cli/node.rs +++ b/bin/katana/src/cli/node.rs @@ -10,7 +10,8 @@ //! documentation for usage details. This is **not recommended on Windows**. See [here](https://rust-lang.github.io/rfcs/1974-global-allocators.html#jemalloc) //! for more info. -use std::net::SocketAddr; +use std::collections::HashSet; +use std::net::{IpAddr, SocketAddr}; use std::path::PathBuf; use alloy_primitives::U256; @@ -23,23 +24,32 @@ use katana_core::constants::{ DEFAULT_ETH_L1_GAS_PRICE, DEFAULT_INVOKE_MAX_STEPS, DEFAULT_SEQUENCER_ADDRESS, DEFAULT_STRK_L1_GAS_PRICE, DEFAULT_VALIDATE_MAX_STEPS, }; -#[allow(deprecated)] -use katana_core::sequencer::SequencerConfig; -use katana_primitives::block::GasPrices; +use katana_core::service::messaging::MessagingConfig; +use katana_node::config::db::DbConfig; +use katana_node::config::dev::DevConfig; +use katana_node::config::fork::ForkingConfig; +use katana_node::config::metrics::MetricsConfig; +use katana_node::config::rpc::{ + ApiKind, RpcConfig, DEFAULT_RPC_ADDR, DEFAULT_RPC_MAX_CONNECTIONS, DEFAULT_RPC_PORT, +}; +use katana_node::config::{Config, SequencingConfig}; +use katana_primitives::block::BlockHashOrNumber; use katana_primitives::chain::ChainId; +use katana_primitives::chain_spec::{self, ChainSpec}; use katana_primitives::class::ClassHash; use katana_primitives::contract::ContractAddress; use katana_primitives::genesis::allocation::{DevAllocationsGenerator, GenesisAccountAlloc}; -use katana_primitives::genesis::constant::DEFAULT_PREFUNDED_ACCOUNT_BALANCE; +use katana_primitives::genesis::constant::{ + DEFAULT_LEGACY_ERC20_CLASS_HASH, DEFAULT_LEGACY_UDC_CLASS_HASH, + DEFAULT_PREFUNDED_ACCOUNT_BALANCE, DEFAULT_UDC_ADDRESS, +}; use katana_primitives::genesis::Genesis; -use katana_rpc::config::ServerConfig; -use katana_rpc_api::ApiKind; use tracing::{info, Subscriber}; use tracing_log::LogTracer; use tracing_subscriber::{fmt, EnvFilter}; use url::Url; -use crate::utils::{parse_genesis, parse_seed}; +use crate::utils::{parse_block_hash_or_number, parse_genesis, parse_seed}; #[derive(Parser, Debug)] pub struct NodeArgs { @@ -65,10 +75,16 @@ pub struct NodeArgs { initialized Katana database.")] pub db_dir: Option, - #[arg(long)] - #[arg(value_name = "URL")] + #[arg(long = "fork.rpc-url", value_name = "URL", alias = "rpc-url")] #[arg(help = "The Starknet RPC provider to fork the network from.")] - pub rpc_url: Option, + pub fork_rpc_url: Option, + + #[arg(long = "fork.block", value_name = "BLOCK_ID", alias = "fork-block-number")] + #[arg(requires = "fork_rpc_url")] + #[arg(help = "Fork the network at a specific block id, can either be a hash (0x-prefixed) \ + or number.")] + #[arg(value_parser = parse_block_hash_or_number)] + pub fork_block: Option, #[arg(long)] pub dev: bool, @@ -83,13 +99,6 @@ pub struct NodeArgs { #[arg(long, value_name = "SOCKET", value_parser = parse_socket_address, help_heading = "Metrics")] pub metrics: Option, - #[arg(long)] - #[arg(requires = "rpc_url")] - #[arg(value_name = "BLOCK_NUMBER")] - #[arg(help = "Fork the network at a specific block.")] - pub fork_block_number: Option, - - #[cfg(feature = "messaging")] #[arg(long)] #[arg(value_name = "PATH")] #[arg(value_parser = katana_core::service::messaging::MessagingConfig::parse)] @@ -97,7 +106,7 @@ pub struct NodeArgs { #[arg(long_help = "Configure the messaging to allow Katana listening/sending messages on a \ settlement chain that can be Ethereum or an other Starknet sequencer. \ The configuration file details and examples can be found here: https://book.dojoengine.org/toolchain/katana/reference#messaging")] - pub messaging: Option, + pub messaging: Option, #[command(flatten)] #[command(next_help_heading = "Server options")] @@ -116,16 +125,17 @@ pub struct NodeArgs { #[derive(Debug, Args, Clone)] pub struct ServerOptions { #[arg(short, long)] - #[arg(default_value = "5050")] + #[arg(default_value_t = DEFAULT_RPC_PORT)] #[arg(help = "Port number to listen on.")] pub port: u16, #[arg(long)] + #[arg(default_value_t = DEFAULT_RPC_ADDR)] #[arg(help = "The IP address the server will listen on.")] - pub host: Option, + pub host: IpAddr, #[arg(long)] - #[arg(default_value = "100")] + #[arg(default_value_t = DEFAULT_RPC_MAX_CONNECTIONS)] #[arg(help = "Maximum number of concurrent connections allowed.")] pub max_connections: u32, @@ -144,7 +154,7 @@ pub struct StarknetOptions { #[arg(long = "accounts")] #[arg(value_name = "NUM")] - #[arg(default_value = "10")] + #[arg(default_value_t = 10)] #[arg(help = "Number of pre-funded accounts to generate.")] pub total_accounts: u16, @@ -162,7 +172,7 @@ pub struct StarknetOptions { #[arg(long)] #[arg(value_parser = parse_genesis)] - #[arg(conflicts_with_all(["rpc_url", "seed", "total_accounts"]))] + #[arg(conflicts_with_all(["fork_rpc_url", "seed", "total_accounts"]))] pub genesis: Option, } @@ -173,9 +183,8 @@ pub struct EnvironmentOptions { #[arg(long_help = "The chain ID. If a raw hex string (`0x` prefix) is provided, then it'd \ used as the actual chain ID. Otherwise, it's represented as the raw \ ASCII values. It must be a valid Cairo short string.")] - #[arg(default_value = "KATANA")] #[arg(value_parser = ChainId::parse)] - pub chain_id: ChainId, + pub chain_id: Option, #[arg(long)] #[arg(help = "The maximum number of steps available for the account validation logic.")] @@ -221,34 +230,35 @@ impl NodeArgs { } async fn start_node(self) -> Result<()> { - let server_config = self.server_config(); - let sequencer_config = self.sequencer_config(); - let starknet_config = self.starknet_config()?; - - // build the node and start it - let node = katana_node::start(server_config, sequencer_config, starknet_config).await?; + // Build the node + let config = self.config()?; + let node = katana_node::build(config).await.context("failed to build node")?; if !self.silent { - #[allow(deprecated)] - let genesis = &node.backend.config.genesis; - print_intro(&self, genesis, node.rpc.addr); + print_intro(&self, &node.backend.chain_spec); } - // Wait until an OS signal is received or TaskManager shutdown + // Launch the node + let handle = node.launch().await.context("failed to launch node")?; + + // Wait until an OS signal (ie SIGINT, SIGTERM) is received or the node is shutdown. tokio::select! { - _ = dojo_utils::signal::wait_signals() => {}, - _ = node.task_manager.wait_for_shutdown() => {} + _ = dojo_utils::signal::wait_signals() => { + // Gracefully shutdown the node before exiting + handle.stop().await?; + }, + + _ = handle.stopped() => { } } - info!("Shutting down..."); - node.stop().await?; + info!("Shutting down."); Ok(()) } fn init_logging(&self) -> Result<()> { - const DEFAULT_LOG_FILTER: &str = "info,executor=trace,forking::backend=trace,server=debug,\ - katana_core=trace,blockifier=off,jsonrpsee_server=off,\ + const DEFAULT_LOG_FILTER: &str = "info,tasks=debug,executor=trace,forking::backend=trace,\ + server=debug,blockifier=off,jsonrpsee_server=off,\ hyper=off,messaging=debug,node=error"; LogTracer::init()?; @@ -266,81 +276,105 @@ impl NodeArgs { Ok(tracing::subscriber::set_global_default(subscriber)?) } - #[allow(deprecated)] - fn sequencer_config(&self) -> SequencerConfig { - SequencerConfig { - block_time: self.block_time, - no_mining: self.no_mining, - #[cfg(feature = "messaging")] - messaging: self.messaging.clone(), - } + fn config(&self) -> Result { + let db = self.db_config(); + let rpc = self.rpc_config(); + let dev = self.dev_config(); + let chain = self.chain_spec()?; + let metrics = self.metrics_config(); + let starknet = self.starknet_config()?; + let forking = self.forking_config()?; + let sequencing = self.sequencer_config(); + let messaging = self.messaging.clone(); + + Ok(Config { metrics, db, dev, rpc, chain, starknet, sequencing, messaging, forking }) + } + + fn sequencer_config(&self) -> SequencingConfig { + SequencingConfig { block_time: self.block_time, no_mining: self.no_mining } } - fn server_config(&self) -> ServerConfig { - let mut apis = vec![ApiKind::Starknet, ApiKind::Torii, ApiKind::Saya]; + fn rpc_config(&self) -> RpcConfig { + let mut apis = HashSet::from([ApiKind::Starknet, ApiKind::Torii, ApiKind::Saya]); // only enable `katana` API in dev mode if self.dev { - apis.push(ApiKind::Dev); + apis.insert(ApiKind::Dev); } - ServerConfig { + RpcConfig { apis, - metrics: self.metrics, port: self.server.port, - host: self.server.host.clone().unwrap_or("0.0.0.0".into()), + addr: self.server.host, max_connections: self.server.max_connections, allowed_origins: self.server.allowed_origins.clone(), } } - fn starknet_config(&self) -> Result { - let genesis = match self.starknet.genesis.clone() { - Some(genesis) => genesis, - None => { - let gas_prices = GasPrices { - eth: self.starknet.environment.l1_eth_gas_price, - strk: self.starknet.environment.l1_strk_gas_price, - }; - - let accounts = DevAllocationsGenerator::new(self.starknet.total_accounts) - .with_seed(parse_seed(&self.starknet.seed)) - .with_balance(U256::from(DEFAULT_PREFUNDED_ACCOUNT_BALANCE)) - .generate(); - - let mut genesis = Genesis { - gas_prices, - sequencer_address: *DEFAULT_SEQUENCER_ADDRESS, - ..Default::default() - }; - - #[cfg(feature = "slot")] - if self.slot.controller { - katana_slot_controller::add_controller_account(&mut genesis)?; - } - - genesis.extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into()))); - genesis - } - }; + fn chain_spec(&self) -> Result { + let mut chain_spec = chain_spec::DEV_UNALLOCATED.clone(); + + if let Some(id) = self.starknet.environment.chain_id { + chain_spec.id = id; + } + + if let Some(genesis) = self.starknet.genesis.clone() { + chain_spec.genesis = genesis; + } + + // generate dev accounts + let accounts = DevAllocationsGenerator::new(self.starknet.total_accounts) + .with_seed(parse_seed(&self.starknet.seed)) + .with_balance(U256::from(DEFAULT_PREFUNDED_ACCOUNT_BALANCE)) + .generate(); + + chain_spec.genesis.extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into()))); + chain_spec.genesis.sequencer_address = *DEFAULT_SEQUENCER_ADDRESS; + chain_spec.genesis.gas_prices.eth = self.starknet.environment.l1_eth_gas_price; + chain_spec.genesis.gas_prices.strk = self.starknet.environment.l1_strk_gas_price; + + #[cfg(feature = "slot")] + if self.slot.controller { + katana_slot_controller::add_controller_account(&mut chain_spec.genesis)?; + } + + Ok(chain_spec) + } + fn dev_config(&self) -> DevConfig { + DevConfig { + fee: !self.starknet.disable_fee, + account_validation: !self.starknet.disable_validate, + } + } + + fn starknet_config(&self) -> Result { Ok(StarknetConfig { - disable_fee: self.starknet.disable_fee, - disable_validate: self.starknet.disable_validate, - fork_rpc_url: self.rpc_url.clone(), - fork_block_number: self.fork_block_number, env: Environment { - chain_id: self.starknet.environment.chain_id, invoke_max_steps: self.starknet.environment.invoke_max_steps, validate_max_steps: self.starknet.environment.validate_max_steps, }, - db_dir: self.db_dir.clone(), - genesis, }) } + + fn forking_config(&self) -> Result> { + if let Some(url) = self.fork_rpc_url.clone() { + Ok(Some(ForkingConfig { url, block: self.fork_block })) + } else { + Ok(None) + } + } + + fn db_config(&self) -> DbConfig { + DbConfig { dir: self.db_dir.clone() } + } + + fn metrics_config(&self) -> Option { + self.metrics.map(|addr| MetricsConfig { addr }) + } } -fn print_intro(args: &NodeArgs, genesis: &Genesis, address: SocketAddr) { - let mut accounts = genesis.accounts().peekable(); +fn print_intro(args: &NodeArgs, chain: &ChainSpec) { + let mut accounts = chain.genesis.accounts().peekable(); let account_class_hash = accounts.peek().map(|e| e.1.class_hash()); let seed = &args.starknet.seed; @@ -351,7 +385,6 @@ fn print_intro(args: &NodeArgs, genesis: &Genesis, address: SocketAddr) { serde_json::json!({ "accounts": accounts.map(|a| serde_json::json!(a)).collect::>(), "seed": format!("{}", seed), - "address": format!("{address}"), }) ) } else { @@ -371,7 +404,7 @@ fn print_intro(args: &NodeArgs, genesis: &Genesis, address: SocketAddr) { ) ); - print_genesis_contracts(genesis, account_class_hash); + print_genesis_contracts(chain, account_class_hash); print_genesis_accounts(accounts); println!( @@ -382,37 +415,35 @@ ACCOUNTS SEED {seed} " ); - - let addr = format!( - "🚀 JSON-RPC server started: {}", - Style::new().red().apply_to(format!("http://{address}")) - ); - - println!("\n{addr}\n\n",); } } -fn print_genesis_contracts(genesis: &Genesis, account_class_hash: Option) { +fn print_genesis_contracts(chain: &ChainSpec, account_class_hash: Option) { println!( r" PREDEPLOYED CONTRACTS ================== -| Contract | Fee Token +| Contract | ETH Fee Token +| Address | {} +| Class Hash | {:#064x} + +| Contract | STRK Fee Token | Address | {} | Class Hash | {:#064x}", - genesis.fee_token.address, genesis.fee_token.class_hash, + chain.fee_contracts.eth, + DEFAULT_LEGACY_ERC20_CLASS_HASH, + chain.fee_contracts.strk, + DEFAULT_LEGACY_ERC20_CLASS_HASH ); - if let Some(ref udc) = genesis.universal_deployer { - println!( - r" + println!( + r" | Contract | Universal Deployer | Address | {} | Class Hash | {:#064x}", - udc.address, udc.class_hash - ) - } + DEFAULT_UDC_ADDRESS, DEFAULT_LEGACY_UDC_CLASS_HASH + ); if let Some(hash) = account_class_hash { println!( @@ -461,19 +492,18 @@ mod test { #[test] fn test_starknet_config_default() { let args = NodeArgs::parse_from(["katana"]); - let config = args.starknet_config().unwrap(); - - assert!(!config.disable_fee); - assert!(!config.disable_validate); - assert_eq!(config.fork_rpc_url, None); - assert_eq!(config.fork_block_number, None); - assert_eq!(config.env.chain_id, ChainId::parse("KATANA").unwrap()); - assert_eq!(config.env.invoke_max_steps, DEFAULT_INVOKE_MAX_STEPS); - assert_eq!(config.env.validate_max_steps, DEFAULT_VALIDATE_MAX_STEPS); - assert_eq!(config.db_dir, None); - assert_eq!(config.genesis.gas_prices.eth, DEFAULT_ETH_L1_GAS_PRICE); - assert_eq!(config.genesis.gas_prices.strk, DEFAULT_STRK_L1_GAS_PRICE); - assert_eq!(config.genesis.sequencer_address, *DEFAULT_SEQUENCER_ADDRESS); + let config = args.config().unwrap(); + + assert!(config.dev.fee); + assert!(config.dev.account_validation); + assert!(config.forking.is_none()); + assert_eq!(config.starknet.env.invoke_max_steps, DEFAULT_INVOKE_MAX_STEPS); + assert_eq!(config.starknet.env.validate_max_steps, DEFAULT_VALIDATE_MAX_STEPS); + assert_eq!(config.db.dir, None); + assert_eq!(config.chain.id, ChainId::parse("KATANA").unwrap()); + assert_eq!(config.chain.genesis.gas_prices.eth, DEFAULT_ETH_L1_GAS_PRICE); + assert_eq!(config.chain.genesis.gas_prices.strk, DEFAULT_STRK_L1_GAS_PRICE); + assert_eq!(config.chain.genesis.sequencer_address, *DEFAULT_SEQUENCER_ADDRESS); } #[test] @@ -495,15 +525,15 @@ mod test { "--strk-gas-price", "20", ]); - let config = args.starknet_config().unwrap(); - - assert!(config.disable_fee); - assert!(config.disable_validate); - assert_eq!(config.env.chain_id, ChainId::GOERLI); - assert_eq!(config.env.invoke_max_steps, 200); - assert_eq!(config.env.validate_max_steps, 100); - assert_eq!(config.db_dir, Some(PathBuf::from("/path/to/db"))); - assert_eq!(config.genesis.gas_prices.eth, 10); - assert_eq!(config.genesis.gas_prices.strk, 20); + let config = args.config().unwrap(); + + assert!(!config.dev.fee); + assert!(!config.dev.account_validation); + assert_eq!(config.starknet.env.invoke_max_steps, 200); + assert_eq!(config.starknet.env.validate_max_steps, 100); + assert_eq!(config.db.dir, Some(PathBuf::from("/path/to/db"))); + assert_eq!(config.chain.id, ChainId::GOERLI); + assert_eq!(config.chain.genesis.gas_prices.eth, 10); + assert_eq!(config.chain.genesis.gas_prices.strk, 20); } } diff --git a/bin/katana/src/utils.rs b/bin/katana/src/utils.rs index f05f5a7634..580924962e 100644 --- a/bin/katana/src/utils.rs +++ b/bin/katana/src/utils.rs @@ -1,5 +1,7 @@ use std::path::PathBuf; +use anyhow::{Context, Result}; +use katana_primitives::block::{BlockHash, BlockHashOrNumber, BlockNumber}; use katana_primitives::genesis::json::GenesisJson; use katana_primitives::genesis::Genesis; @@ -16,12 +18,22 @@ pub fn parse_seed(seed: &str) -> [u8; 32] { } /// Used as clap value parser for [Genesis]. -pub fn parse_genesis(value: &str) -> Result { +pub fn parse_genesis(value: &str) -> Result { let path = PathBuf::from(shellexpand::full(value)?.into_owned()); let genesis = Genesis::try_from(GenesisJson::load(path)?)?; Ok(genesis) } +/// If the value starts with `0x`, it is parsed as a [`BlockHash`], otherwise as a [`BlockNumber`]. +pub fn parse_block_hash_or_number(value: &str) -> Result { + if value.starts_with("0x") { + Ok(BlockHashOrNumber::Hash(BlockHash::from_hex(value)?)) + } else { + let num = value.parse::().context("could not parse block number")?; + Ok(BlockHashOrNumber::Num(num)) + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/bin/saya/Cargo.toml b/bin/saya/Cargo.toml index 8ba73958dc..439adc9dbe 100644 --- a/bin/saya/Cargo.toml +++ b/bin/saya/Cargo.toml @@ -11,10 +11,7 @@ anyhow.workspace = true clap.workspace = true console.workspace = true dojo-utils.workspace = true -katana-primitives.workspace = true -katana-rpc-api.workspace = true saya-core.workspace = true -serde_json.workspace = true starknet.workspace = true tokio.workspace = true tracing.workspace = true @@ -23,5 +20,4 @@ tracing-subscriber.workspace = true url.workspace = true [dev-dependencies] -cairo-proof-parser.workspace = true starknet-crypto.workspace = true diff --git a/bin/saya/README.md b/bin/saya/README.md index 781b438109..c7c1e51987 100644 --- a/bin/saya/README.md +++ b/bin/saya/README.md @@ -19,170 +19,177 @@ Ensure you have the following set up: Below is a command-line example that demonstrates how to run the Saya executable with necessary parameters: ```bash -cargo run --bin saya -- --rpc-url http://localhost:5050 --da-chain celestia --celestia-node-url http://127.0.0.1:26658 --celestia-namespace mynm --celestia-node-auth-token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..... +cargo run --bin saya -- \ +--rpc-url http://localhost:5050 \ +--da-chain celestia \ +--celestia-node-url http://127.0.0.1:26658 \ +--celestia-namespace mynm \ +--celestia-node-auth-token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..... ``` ## Detailed Workflow -1. Prepare fact registry contract +1. Setup your environment: + * For now starknet foundry is required until Sozo supports deploying non-dojo contracts. Please refer to [install instructions](https://foundry-rs.github.io/starknet-foundry/getting-started/installation.html#installation-via-asdf). + If you dont have a imported sncast account: + ```bash + export STARKNET_RPC_URL="https://api.cartridge.gg/x/starknet/sepolia" + export DOJO_ACCOUNT_ADDRESS="" + export DOJO_PRIVATE_KEY="" + ``` + * Setup variables in or use enviroment variables ```bin/saya/scripts/0_account_setup.sh```, and run script + * `sncast` doesn't support environment variables, for now, so you may have to set the options manually. - Declare or use already declared `class-hash`: `0x7f6076572e04d7182a1c5c9f1f4c15aafcb069b1bfdb3de4d7c9e47c99deeb4`. + **During this tutorial, we will export environment variables, so you must remain in the same shell session**. - Deploy or use already deployed `contract`: `0x217746a5f74c2e5b6fa92c97e902d8cd78b1fabf1e8081c4aa0d2fe159bc0eb`. - In the repository https://github.com/HerodotusDev/integrity run +2. Prepare fact registry contract + Declare or use already declared `class-hash`: `0x0485857a88cacd0a706452c61cfa613802c638dc4ce09bf3d8b289c70183d293`. + Deploy or use already deployed(recommended) `contract`: `0x2cc03dd3136b634bfea2e36e9aac5f966db9576dde3fe43e3ef72e9ece1f42b`. -```bash - fact_registry/1-declare.sh # extract `class-hash` - fact_registry/1-deploy.sh # use at -``` - -2. Spawn world - -You must choose a world's name as you may deploy the exact same code as an other person trying this example. The world's name must fit into 31 characters. - -**IMPORTANT NOTE:** -At the moment until a bug is fixed, you must comment out the `world_address` that is present into the `examples/spawn-and-move/Scarb.toml` file to allow the use of the `--name` flag. - -```bash -cargo run -r --bin sozo -- \ - build \ - --manifest-path examples/spawn-and-move/Scarb.toml - -cargo run -r --bin sozo -- \ - migrate apply \ - --manifest-path examples/spawn-and-move/Scarb.toml \ - --rpc-url \ - --private-key \ - --account-address \ - --fee-estimate-multiplier 20 \ - --name -``` - -Once the migration is done, please take note of the address of the world as it will be re-used in the commands below. + ```bash + export SAYA_FACT_REGISTRY_ADDRESS="0x2cc03dd3136b634bfea2e36e9aac5f966db9576dde3fe43e3ef72e9ece1f42b" + ``` -1. Set world configs + In the repository https://github.com/cartridge-gg/cairo-verifier run -```bash -cargo run -r --bin sozo -- \ - execute set_differ_program_hash \ - -c 0xa73dd9546f9858577f9fdbe43fd629b6f12dc638652e11b6e29155f4c6328 \ - --manifest-path examples/spawn-and-move/Scarb.toml \ - --rpc-url \ - --private-key \ - --account-address \ - --fee-estimate-multiplier 20 \ - --world \ - --wait - -cargo run -r --bin sozo -- \ - execute set_merger_program_hash \ - -c 0xc105cf2c69201005df3dad0050f5289c53d567d96df890f2142ad43a540334 \ - --manifest-path examples/spawn-and-move/Scarb.toml \ - --rpc-url \ - --private-key \ - --account-address \ - --fee-estimate-multiplier 20 \ - --world \ - --wait - -cargo run -r --bin sozo -- \ - execute set_facts_registry \ - -c 0x217746a5f74c2e5b6fa92c97e902d8cd78b1fabf1e8081c4aa0d2fe159bc0eb \ - --manifest-path examples/spawn-and-move/Scarb.toml \ - --rpc-url \ - --private-key \ - --account-address \ - --fee-estimate-multiplier 20 \ - --world \ - --wait -``` - -4. Start katana - -Start a local instance of Katana configured to work with the newly deployed contract. You should wait your world to be integrated into the latest block (and not the pending). -Once block in which the transaction that deploys the world is mined, you can start `katana` in forking mode. - -```bash -cargo run -r --bin katana -- \ - --rpc-url \ - --fork-block-number -``` - -5. Run transactions on `katana` - -Finally, modify the state of the world using specific actions: - -```bash -cargo run -r --bin sozo -- execute dojo_examples::actions::actions spawn \ - --manifest-path examples/spawn-and-move/Scarb.toml \ - --rpc-url http://localhost:5050 \ - --private-key \ - --account-address \ - --world \ - --wait -``` - -Before running `saya`, we can check the actual value for some models on Sepolia, to then see them updated by the proof being verified and the state of the world being updated. -In the `spawn-and-move` example, the `Position` model is used to store some data associated with the player, -being the contract address of the contract that called `spawn` (hence, your account address). -By default on Sepolia, it should be set like to unknown position, being like: - -```bash -cargo run -r --bin sozo -- model get Position \ - --manifest-path examples/spawn-and-move/Scarb.toml \ - --rpc-url \ - --world -``` - -```json -// Expected on Sepolia as we've executed the transaction on the Katana shard. -{ - player : , - vec : { - x : 0, - y : 0 - } -} - -// Expected on Katana. -{ - player : , - vec : { - x : 10, - y : 10 + ```bash + fact_registry/1-declare.sh # extract `class-hash` + fact_registry/1-deploy.sh # use at + ``` + +3. Spawn world + + You must choose a different world seed as an other person trying this example will have the same world's address. To modify the world's seed, modify the `seed` parameter in the `examples/spawn-and-move/dojo_saya.toml` file. + + Then set all neccesery variables ```bin/saya/scripts/1_world_setup.sh``` in script execute this command, being at the root of the repository: + + ```bash + bash bin/saya/scripts/1_world_setup.sh + ``` + + Once the migration is done, the world address and the block number at which the world was deployed will be printed, + you can setup your environment variable like so: + ```bash + export DOJO_WORLD_ADDRESS="" + export SAYA_FORK_BLOCK_NUMBER="" + ``` + + Once those variables are exported, you can run the following command to configure the world: + ```bash + bash bin/saya/scripts/2_world_config.sh + ``` + +4. Preparing Piltover Contract + The current Piltover contract is under [Cartridge github](https://github.com/cartridge-gg/piltover) and the class hash is `0x2a7a2276cf2f00206960ea8a0ea86b1549d6514ab11f546cc71b8154b597c1d`. + + At the moment, we don't have a piltover maintained by Dojo community to receive all state updates for multiple + appchain, this is coming soon. + + In the meantime, if you need to test the piltover contract, you can deploy your own piltover contract using the following command: + ```bash + bash bin/saya/scripts/3_piltover.sh + ``` + +5. Start katana + + Start a local instance of Katana configured to work with the newly deployed contract. You should wait your world to be integrated into the **latest block** (and not the pending one). + Once the block in which the transaction that deploys the world is mined, you can start `katana` in forking mode. + + If you need to start an other terminal, you can first print the variables you need to set: + ```bash + echo $STARKNET_RPC_URL + echo $SAYA_FORK_BLOCK_NUMBER + ``` + Then start katana with the following command: + ```bash + cargo run -r --bin katana -- \ + --rpc-url $STARKNET_RPC_URL \ + --fork-block-number $SAYA_FORK_BLOCK_NUMBER + ``` + +6. Run transactions on `katana` + + Finally, modify the state of the world using specific actions and granting some permissions: + + ```bash + cargo run -r --bin sozo -- auth grant writer ns:dojo_examples,actions \ + --manifest-path examples/spawn-and-move/Scarb.toml \ + --rpc-url http://localhost:5050 \ + --wait + + cargo run -r --bin sozo -- execute actions spawn \ + --manifest-path examples/spawn-and-move/Scarb.toml \ + --rpc-url http://localhost:5050 \ + --wait + ``` + + Before running `saya`, we can check the actual value for some models on Sepolia, to then see them updated by the proof being verified and the state of the world being updated. + In the `spawn-and-move` example, the `Position` model is used to store some data associated with the player, + being the contract address of the contract that called `spawn` (hence, your account address). + By default on Sepolia, it should be set like to unknown position, being like: + + ```bash + cargo run -r --bin sozo -- model get Position \ + --manifest-path examples/spawn-and-move/Scarb.toml \ + --rpc-url http://localhost:5050 + ``` + + ```json + // Expected on Sepolia as we've executed the transaction on the Katana shard. + { + player : , + vec : { + x : 0, + y : 0 + } } -} -``` - -6. Run saya -The could be `http://prover.visoft.dev:3618` if you have a registered key or a link to a self hosted instance of `https://github.com/neotheprogramist/http-prover`. -The is the private key produced by `keygen` installed with `cargo install --git https://github.com/neotheprogramist/http-prover keygen`. Pass the public key to server operator or the prover program. - -If you are on an `amd64` architecture, go ahead and run the `http-prover` locally to see how it works and run this whole pipeline locally. -If not (this includes Apple Silicon), some emulation will take place to run the prover on your machine, and this is very very slow. - -It's important that the `--start-block` of Saya is the first block produced by Katana as for now Katana is not fetching events from the forked network. - -Starknet sepolia network chain id is `0x00000000000000000000000000000000000000000000534e5f5345504f4c4941`. - -```bash -cargo run -r --bin saya -- \ - --rpc-url http://localhost:5050 \ - --registry \ - --world \ - --url \ - --private-key \ - --start-block \ - --starknet-url \ - --chain-id \ - --signer-address \ - --signer-key \ -``` - -After this command, Saya will pick up the blocks with transactions, generate the proof for the state transition, and send it to the base layer world contract. - -Once the world on Sepolia is updated, you can issue again the `model get` command as seen before, and you should see the `katana` shard state reflected on Sepolia. - -Ensure to replace placeholders (`<>`) with appropriate values for your configuration and environment. This documentation provides a comprehensive overview for developers and operators to effectively utilize the Saya service in blockchain applications. + // Expected on Katana. + { + player : , + vec : { + x : 10, + y : 10 + } + } + ``` + +8. Run saya + + The could be `http://localhost:3618` if you have a registered key or a link to a self hosted instance of `https://github.com/cartridge-gg/http-prover`. + The is the private key produced by `keygen` installed with `cargo install --git https://github.com/cartridge-gg/http-prover keygen`. Pass the public key to server operator or the prover program. + + You can also use the service provided by cartridge by asking to pre-register your key to the service on the Cartridge discord to experiment with Saya. + + If you are on an `amd64` architecture, go ahead and run the `http-prover` locally to see how it works and run this whole pipeline locally. + If not (this includes Apple Silicon), some emulation will take place to run the prover on your machine, and this is very very slow. + + It's important that the `--start-block` of Saya is the first block produced by Katana as for now Katana is not fetching events from the forked network. To get this value, you can add one to the `SAYA_FORK_BLOCK_NUMBER` value. + **Currently saya supports only persistant mode, ephermal will be implemented in future + + ```bash + cargo run -r --bin saya -- \ + --mode persistent \ + --rpc-url http://localhost:5050 \ + --registry $SAYA_FACT_REGISTRY \ + --settlement-contract $SAYA_PILTOVER_ADDRESS \ + --world $SAYA_WORLD_ADDRESS \ + --prover-url $SAYA_PROVER_URL \ + --starknet-url $SAYA_SEPOLIA_ENDPOINT \ + --signer-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --signer-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --private-key $SAYA_PROVER_KEY \ + --batch-size 1 \ + --start-block $(expr $SAYA_FORK_BLOCK_NUMBER + 1) \ + --da-chain celestia \ + --celestia-node-url http://celestia-arabica.cartridge.gg \ + --celestia-namespace saya-dev \ + --celestia-node-auth-token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiLCJhZG1pbiJdfQ.l26OoOmRmLhKdvvUaeqhSpt2d5eZTWkaixSZeje7XIY + ``` + + After this command, Saya will pick up the blocks with transactions, generate the proof for the state transition, and send it to the base layer world contract. + + Once the world on Sepolia is updated, you can issue again the `model get` command as seen before, and you should see the `katana` shard state reflected on Sepolia. + + Ensure to replace placeholders (`<>`) with appropriate values for your configuration and environment. This documentation provides a comprehensive overview for developers and operators to effectively utilize the Saya service in blockchain applications. diff --git a/bin/saya/programs/cairo0differ.json b/bin/saya/programs/cairo0differ.json deleted file mode 100644 index 0188ed1f08..0000000000 --- a/bin/saya/programs/cairo0differ.json +++ /dev/null @@ -1 +0,0 @@ -{ "attributes": [], "builtins": [ "output", "pedersen", "range_check", "bitwise" ], "compiler_version": "0.13.1", "data": [ "0x40780017fff7fff", "0x4", "0x1104800180018000", "0xcc", "0x10780017fff7fff", "0x0", "0x400380007ffb7ffc", "0x400380017ffb7ffd", "0x482680017ffb8000", "0x3", "0x480280027ffb8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x8", "0x480a80047fff8000", "0x480a80057fff8000", "0x480a80067fff8000", "0x480a80077fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe5", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x4", "0x480a80007fff8000", "0x480a80017fff8000", "0x480a80027fff8000", "0x480a80037fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcd", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbc", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffab", "0x480280027ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa8", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff97", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff86", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff75", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff64", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff53", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x4", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480280007ffc8000", "0x400280007ffb7fff", "0x482680017ffb8000", "0x1", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff3", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0xd", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff3d", "0x40137ffc7fff8000", "0x40137ffd7fff8001", "0x40137ffe7fff8002", "0x40137fff7fff8003", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff5d", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff7d", "0x40137ffe7fff8004", "0x40137fff7fff8005", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff9e", "0x40137ffe7fff8006", "0x40137fff7fff8007", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbc", "0x40137ffe7fff8008", "0x40137fff7fff8009", "0x480a7ffb7fff8000", "0x480a80007fff8000", "0x480a80017fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff20", "0x480a80027fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1d", "0x480a80037fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1a", "0x48127fdb7fff8000", "0x48127fdb7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4d", "0x480a80047fff8000", "0x480a80057fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff6e", "0x480a80067fff8000", "0x480a80077fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff8c", "0x480a80087fff8000", "0x480a80097fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffaa", "0x400380007ffa8000", "0x400280017ffa7fff", "0x400380027ffa8001", "0x400380037ffa8002", "0x400380047ffa8003", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff10", "0x48127ff87fff8000", "0x480680017fff8000", "0x0", "0x48127ffc7fff8000", "0x48127ffc7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff0e", "0x40137ffe7fff800a", "0x400280057ffa7fff", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1d", "0x40137fff7fff800b", "0x40137ffe7fff800c", "0x400280067ffa7ffd", "0x482680017ffa8000", "0x7", "0x48127ffb7fff8000", "0x48127ffb7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa6", "0x400180007fff800b", "0x482480017fff8000", "0x1", "0x480a800c7fff8000", "0x480a800b7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff9f", "0x480a800a7fff8000", "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x208b7fff7fff7ffe" ], "debug_info": { "file_contents": { "": "__start__:\nap += main.Args.SIZE + main.ImplicitArgs.SIZE;\ncall main;\n\n__end__:\njmp rel 0;\n" }, "instruction_locations": { "0": { "accessible_scopes": [ "__main__" ], "flow_tracking_data": { "ap_tracking": { "group": 0, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 46, "end_line": 2, "input_file": { "filename": "" }, "start_col": 1, "start_line": 2 } }, "2": { "accessible_scopes": [ "__main__" ], "flow_tracking_data": { "ap_tracking": { "group": 0, "offset": 4 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 10, "end_line": 3, "input_file": { "filename": "" }, "start_col": 1, "start_line": 3 } }, "4": { "accessible_scopes": [ "__main__" ], "flow_tracking_data": { "ap_tracking": { "group": 1, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 10, "end_line": 6, "input_file": { "filename": "" }, "start_col": 1, "start_line": 6 } }, "6": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 0 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 2, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 19, "end_line": 14, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 14 } }, "7": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 0 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 2, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 19, "end_line": 15, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 15 } }, "8": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 0 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 4, "starkware.cairo.common.hash.hash2.result": 3, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 47, "end_line": 17, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 13, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "parent_location": [ { "end_col": 28, "end_line": 18, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 18 }, "While trying to retrieve the implicit argument 'hash_ptr' in:" ], "start_col": 12, "start_line": 13 }, "While expanding the reference 'hash_ptr' in:" ], "start_col": 20, "start_line": 17 } }, "10": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 1 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 4, "starkware.cairo.common.hash.hash2.result": 3, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 33, "end_line": 16, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 18, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 20, "start_line": 18 }, "While expanding the reference 'result' in:" ], "start_col": 18, "start_line": 16 } }, "11": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 2 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 4, "starkware.cairo.common.hash.hash2.result": 3, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 28, "end_line": 18, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 18 } }, "12": { "accessible_scopes": [ "__main__", "__main__.get_hashes" ], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 15, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 15 } }, "14": { "accessible_scopes": [ "__main__", "__main__.get_hashes" ], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 8 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [ { "location": { "end_col": 7, "end_line": 26, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 21 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 26, "end_line": 17, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 29, "input_file": { "filename": "src/differ.cairo" }, "start_col": 29, "start_line": 29 }, "While expanding the reference 'prev_state_root' in:" ], "start_col": 11, "start_line": 17 } }, "15": { "accessible_scopes": [ "__main__", "__main__.get_hashes" ], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 9 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 23, "end_line": 18, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 38, "end_line": 30, "input_file": { "filename": "src/differ.cairo" }, "start_col": 26, "start_line": 30 }, "While expanding the reference 'block_number' in:" ], "start_col": 11, "start_line": 18 } }, "16": { "accessible_scopes": [ "__main__", "__main__.get_hashes" ], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 10 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 21, "end_line": 19, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 31, "input_file": { "filename": "src/differ.cairo" }, "start_col": 24, "start_line": 31 }, "While expanding the reference 'block_hash' in:" ], "start_col": 11, "start_line": 19 } }, "17": { "accessible_scopes": [ "__main__", "__main__.get_hashes" ], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 11 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 22, "end_line": 20, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 36, "end_line": 32, "input_file": { "filename": "src/differ.cairo" }, "start_col": 25, "start_line": 32 }, "While expanding the reference 'config_hash' in:" ], "start_col": 11, "start_line": 20 } }, "18": { "accessible_scopes": [ "__main__", "__main__.get_hashes" ], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 12 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 7, "end_line": 34, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 27 } }, "19": { "accessible_scopes": [ "__main__", "__main__.get_world_da" ], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 41, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 41 } }, "21": { "accessible_scopes": [ "__main__", "__main__.get_world_da" ], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 2 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } }, "hints": [ { "location": { "end_col": 7, "end_line": 48, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 44 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 19, "end_line": 42, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 51, "input_file": { "filename": "src/differ.cairo" }, "start_col": 18, "start_line": 51 }, "While expanding the reference 'world_da' in:" ], "start_col": 11, "start_line": 42 } }, "22": { "accessible_scopes": [ "__main__", "__main__.get_world_da" ], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 3 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } }, "hints": [], "inst": { "end_col": 23, "end_line": 43, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 52, "input_file": { "filename": "src/differ.cairo" }, "start_col": 22, "start_line": 52 }, "While expanding the reference 'world_da_len' in:" ], "start_col": 11, "start_line": 43 } }, "23": { "accessible_scopes": [ "__main__", "__main__.get_world_da" ], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 4 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } }, "hints": [], "inst": { "end_col": 7, "end_line": 53, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 50 } }, "24": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 7, "end_line": 59, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 59 } }, "26": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 51, "end_line": 56, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 51, "end_line": 56, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 60, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 60 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 25, "start_line": 56 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 25, "start_line": 56 } }, "27": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 1 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 14, "end_line": 57, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 60, "input_file": { "filename": "src/differ.cairo" }, "start_col": 21, "start_line": 60 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 57 } }, "28": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 2 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 26, "end_line": 60, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 60 } }, "29": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 18, "end_line": 62, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 62 } }, "31": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 51, "end_line": 56, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 64, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 64 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 25, "start_line": 56 } }, "32": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 1 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 14, "end_line": 57, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 65, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 65 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 57 } }, "33": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 2 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 27, "end_line": 63, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 19, "end_line": 65, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 65 }, "While expanding the reference 'value' in:" ], "start_col": 17, "start_line": 63 } }, "34": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 3 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 6, "end_line": 66, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 64 } }, "36": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 7 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 17, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 30, "end_line": 69, "input_file": { "filename": "src/differ.cairo" }, "start_col": 18, "start_line": 69 } }, "38": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 8 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 17, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 38, "end_line": 70, "input_file": { "filename": "src/differ.cairo" }, "start_col": 22, "start_line": 70 } }, "40": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 9 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 17, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 6, "end_line": 71, "input_file": { "filename": "src/differ.cairo" }, "start_col": 12, "start_line": 67 } }, "42": { "accessible_scopes": [ "__main__", "__main__.hash_world_da_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 6, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 19, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 7, "end_line": 71, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 67 } }, "43": { "accessible_scopes": [ "__main__", "__main__.get_messages" ], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 80, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 80 } }, "45": { "accessible_scopes": [ "__main__", "__main__.get_messages" ], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 4 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [ { "location": { "end_col": 7, "end_line": 99, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 85 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 38, "end_line": 81, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 64, "end_line": 101, "input_file": { "filename": "src/differ.cairo" }, "start_col": 37, "start_line": 101 }, "While expanding the reference 'message_to_starknet_segment' in:" ], "start_col": 11, "start_line": 81 } }, "46": { "accessible_scopes": [ "__main__", "__main__.get_messages" ], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 5 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 42, "end_line": 82, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 72, "end_line": 102, "input_file": { "filename": "src/differ.cairo" }, "start_col": 41, "start_line": 102 }, "While expanding the reference 'message_to_starknet_segment_len' in:" ], "start_col": 11, "start_line": 82 } }, "47": { "accessible_scopes": [ "__main__", "__main__.get_messages" ], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 6 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 38, "end_line": 83, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 64, "end_line": 103, "input_file": { "filename": "src/differ.cairo" }, "start_col": 37, "start_line": 103 }, "While expanding the reference 'message_to_appchain_segment' in:" ], "start_col": 11, "start_line": 83 } }, "48": { "accessible_scopes": [ "__main__", "__main__.get_messages" ], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 7 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 42, "end_line": 84, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 72, "end_line": 104, "input_file": { "filename": "src/differ.cairo" }, "start_col": 41, "start_line": 104 }, "While expanding the reference 'message_to_appchain_segment_len' in:" ], "start_col": 11, "start_line": 84 } }, "49": { "accessible_scopes": [ "__main__", "__main__.get_messages" ], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 8 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 7, "end_line": 105, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 100 } }, "50": { "accessible_scopes": [ "__main__", "__main__.get_nonce_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 114, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 114 } }, "52": { "accessible_scopes": [ "__main__", "__main__.get_nonce_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 2 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } }, "hints": [ { "location": { "end_col": 7, "end_line": 129, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 117 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 24, "end_line": 115, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 40, "end_line": 130, "input_file": { "filename": "src/differ.cairo" }, "start_col": 27, "start_line": 130 }, "While expanding the reference 'nonce_updates' in:" ], "start_col": 11, "start_line": 115 } }, "53": { "accessible_scopes": [ "__main__", "__main__.get_nonce_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 3 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } }, "hints": [], "inst": { "end_col": 28, "end_line": 116, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 77, "end_line": 130, "input_file": { "filename": "src/differ.cairo" }, "start_col": 60, "start_line": 130 }, "While expanding the reference 'nonce_updates_len' in:" ], "start_col": 11, "start_line": 116 } }, "54": { "accessible_scopes": [ "__main__", "__main__.get_nonce_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 4 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } }, "hints": [], "inst": { "end_col": 79, "end_line": 130, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 130 } }, "55": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_update" ], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 50, "end_line": 133, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 137, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 137 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 24, "start_line": 133 } }, "56": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_update" ], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 1 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 44, "end_line": 136, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 138, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 138 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 136 } }, "57": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_update" ], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 2 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 32, "end_line": 138, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 138 } }, "58": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_update" ], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 3 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 6, "end_line": 139, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 137 } }, "60": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_update" ], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 7 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 29, "__main__.hash_nonce_update.res": 30 } }, "hints": [], "inst": { "end_col": 22, "end_line": 140, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 140 } }, "61": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 7, "end_line": 146, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 146 } }, "63": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 56, "end_line": 143, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 56, "end_line": 143, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 147, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 147 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 143 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 143 } }, "64": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 1 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 14, "end_line": 144, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 147, "input_file": { "filename": "src/differ.cairo" }, "start_col": 21, "start_line": 147 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 144 } }, "65": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 2 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 26, "end_line": 147, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 147 } }, "66": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 18, "end_line": 149, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 149 } }, "68": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 56, "end_line": 143, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 61, "end_line": 151, "input_file": { "filename": "src/differ.cairo" }, "start_col": 49, "start_line": 151 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 143 } }, "69": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 1 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 39, "end_line": 150, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 75, "end_line": 151, "input_file": { "filename": "src/differ.cairo" }, "start_col": 63, "start_line": 151 }, "While expanding the reference 'nonce_update' in:" ], "start_col": 24, "start_line": 150 } }, "70": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 2 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 76, "end_line": 151, "input_file": { "filename": "src/differ.cairo" }, "start_col": 18, "start_line": 151 } }, "72": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 11 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 61, "end_line": 151, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 152, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 152 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 49, "start_line": 151 } }, "73": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 12 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 14, "end_line": 144, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 153, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 153 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 144 } }, "74": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 13 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 14, "end_line": 151, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 153, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 153 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 151 } }, "75": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 14 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 6, "end_line": 154, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 152 } }, "77": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 18 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 38, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 40, "end_line": 157, "input_file": { "filename": "src/differ.cairo" }, "start_col": 23, "start_line": 157 } }, "79": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 19 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 38, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 48, "end_line": 158, "input_file": { "filename": "src/differ.cairo" }, "start_col": 27, "start_line": 158 } }, "81": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 20 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 38, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 6, "end_line": 159, "input_file": { "filename": "src/differ.cairo" }, "start_col": 12, "start_line": 155 } }, "83": { "accessible_scopes": [ "__main__", "__main__.hash_nonce_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 11, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 40, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 7, "end_line": 159, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 155 } }, "84": { "accessible_scopes": [ "__main__", "__main__.get_storage_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 169, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 169 } }, "86": { "accessible_scopes": [ "__main__", "__main__.get_storage_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 2 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } }, "hints": [ { "location": { "end_col": 7, "end_line": 189, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 172 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 26, "end_line": 170, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 190, "input_file": { "filename": "src/differ.cairo" }, "start_col": 29, "start_line": 190 }, "While expanding the reference 'storage_updates' in:" ], "start_col": 11, "start_line": 170 } }, "87": { "accessible_scopes": [ "__main__", "__main__.get_storage_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 3 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } }, "hints": [], "inst": { "end_col": 30, "end_line": 171, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 85, "end_line": 190, "input_file": { "filename": "src/differ.cairo" }, "start_col": 66, "start_line": 190 }, "While expanding the reference 'storage_updates_len' in:" ], "start_col": 11, "start_line": 171 } }, "88": { "accessible_scopes": [ "__main__", "__main__.get_storage_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 4 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } }, "hints": [], "inst": { "end_col": 87, "end_line": 190, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 190 } }, "89": { "accessible_scopes": [ "__main__", "__main__.hash_storage_update" ], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 0 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 52, "end_line": 193, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 197, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 197 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 26, "start_line": 193 } }, "90": { "accessible_scopes": [ "__main__", "__main__.hash_storage_update" ], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 1 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 46, "end_line": 196, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 198, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 198 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 196 } }, "91": { "accessible_scopes": [ "__main__", "__main__.hash_storage_update" ], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 2 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 40, "end_line": 198, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 198 } }, "92": { "accessible_scopes": [ "__main__", "__main__.hash_storage_update" ], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 3 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 6, "end_line": 199, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 197 } }, "94": { "accessible_scopes": [ "__main__", "__main__.hash_storage_update" ], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 7 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 46, "__main__.hash_storage_update.res": 47, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 42, "end_line": 201, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 201 } }, "95": { "accessible_scopes": [ "__main__", "__main__.hash_storage_update" ], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 8 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 46, "__main__.hash_storage_update.res": 47, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 6, "end_line": 202, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 200 } }, "97": { "accessible_scopes": [ "__main__", "__main__.hash_storage_update" ], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 12 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 48, "__main__.hash_storage_update.res": 49, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 22, "end_line": 203, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 203 } }, "98": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 7, "end_line": 209, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 209 } }, "100": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 58, "end_line": 206, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 58, "end_line": 206, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 210, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 210 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 32, "start_line": 206 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 32, "start_line": 206 } }, "101": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 1 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 14, "end_line": 207, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 210, "input_file": { "filename": "src/differ.cairo" }, "start_col": 21, "start_line": 210 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 207 } }, "102": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 2 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 26, "end_line": 210, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 210 } }, "103": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 18, "end_line": 212, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 212 } }, "105": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 58, "end_line": 206, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 63, "end_line": 214, "input_file": { "filename": "src/differ.cairo" }, "start_col": 51, "start_line": 214 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 32, "start_line": 206 } }, "106": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 1 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 43, "end_line": 213, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 79, "end_line": 214, "input_file": { "filename": "src/differ.cairo" }, "start_col": 65, "start_line": 214 }, "While expanding the reference 'storage_update' in:" ], "start_col": 26, "start_line": 213 } }, "107": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 2 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 80, "end_line": 214, "input_file": { "filename": "src/differ.cairo" }, "start_col": 18, "start_line": 214 } }, "109": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 16 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 63, "end_line": 214, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 215, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 215 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 51, "start_line": 214 } }, "110": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 17 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 14, "end_line": 207, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 216, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 216 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 207 } }, "111": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 18 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 14, "end_line": 214, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 216, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 216 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 214 } }, "112": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 19 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 6, "end_line": 217, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 215 } }, "114": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 23 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 57, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 44, "end_line": 220, "input_file": { "filename": "src/differ.cairo" }, "start_col": 25, "start_line": 220 } }, "116": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 24 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 57, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 52, "end_line": 221, "input_file": { "filename": "src/differ.cairo" }, "start_col": 29, "start_line": 221 } }, "118": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 25 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 57, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 6, "end_line": 222, "input_file": { "filename": "src/differ.cairo" }, "start_col": 12, "start_line": 218 } }, "120": { "accessible_scopes": [ "__main__", "__main__.hash_storage_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 15, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 59, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 7, "end_line": 222, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 218 } }, "121": { "accessible_scopes": [ "__main__", "__main__.get_contract_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 232, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 232 } }, "123": { "accessible_scopes": [ "__main__", "__main__.get_contract_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 2 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } }, "hints": [ { "location": { "end_col": 7, "end_line": 247, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 235 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 27, "end_line": 233, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 248, "input_file": { "filename": "src/differ.cairo" }, "start_col": 30, "start_line": 248 }, "While expanding the reference 'contract_updates' in:" ], "start_col": 11, "start_line": 233 } }, "124": { "accessible_scopes": [ "__main__", "__main__.get_contract_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 3 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } }, "hints": [], "inst": { "end_col": 31, "end_line": 234, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 89, "end_line": 248, "input_file": { "filename": "src/differ.cairo" }, "start_col": 69, "start_line": 248 }, "While expanding the reference 'contract_updates_len' in:" ], "start_col": 11, "start_line": 234 } }, "125": { "accessible_scopes": [ "__main__", "__main__.get_contract_updates" ], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 4 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } }, "hints": [], "inst": { "end_col": 91, "end_line": 248, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 248 } }, "126": { "accessible_scopes": [ "__main__", "__main__.hash_contract_update" ], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 0 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 53, "end_line": 251, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 255, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 255 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 27, "start_line": 251 } }, "127": { "accessible_scopes": [ "__main__", "__main__.hash_contract_update" ], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 1 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 47, "end_line": 254, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 256, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 256 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 254 } }, "128": { "accessible_scopes": [ "__main__", "__main__.hash_contract_update" ], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 2 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 40, "end_line": 256, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 256 } }, "129": { "accessible_scopes": [ "__main__", "__main__.hash_contract_update" ], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 3 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 6, "end_line": 257, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 255 } }, "131": { "accessible_scopes": [ "__main__", "__main__.hash_contract_update" ], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 7 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 65, "__main__.hash_contract_update.res": 66 } }, "hints": [], "inst": { "end_col": 22, "end_line": 258, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 258 } }, "132": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 7, "end_line": 264, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 264 } }, "134": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 59, "end_line": 261, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 59, "end_line": 261, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 265, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 265 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 261 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 261 } }, "135": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 1 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 14, "end_line": 262, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 265, "input_file": { "filename": "src/differ.cairo" }, "start_col": 21, "start_line": 265 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 262 } }, "136": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 2 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 26, "end_line": 265, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 265 } }, "137": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 18, "end_line": 267, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 267 } }, "139": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 59, "end_line": 261, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 64, "end_line": 269, "input_file": { "filename": "src/differ.cairo" }, "start_col": 52, "start_line": 269 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 261 } }, "140": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 1 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 45, "end_line": 268, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 81, "end_line": 269, "input_file": { "filename": "src/differ.cairo" }, "start_col": 66, "start_line": 269 }, "While expanding the reference 'contract_update' in:" ], "start_col": 27, "start_line": 268 } }, "141": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 2 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 82, "end_line": 269, "input_file": { "filename": "src/differ.cairo" }, "start_col": 18, "start_line": 269 } }, "143": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 11 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 64, "end_line": 269, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 270, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 270 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 52, "start_line": 269 } }, "144": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 12 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 14, "end_line": 262, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 271, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 271 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 262 } }, "145": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 13 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 14, "end_line": 269, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 271, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 271 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 269 } }, "146": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 14 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 6, "end_line": 272, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 270 } }, "148": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 18 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 74, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 46, "end_line": 275, "input_file": { "filename": "src/differ.cairo" }, "start_col": 26, "start_line": 275 } }, "150": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 19 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 74, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 54, "end_line": 276, "input_file": { "filename": "src/differ.cairo" }, "start_col": 30, "start_line": 276 } }, "152": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 20 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 74, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 6, "end_line": 277, "input_file": { "filename": "src/differ.cairo" }, "start_col": 12, "start_line": 273 } }, "154": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 19, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 76, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 7, "end_line": 277, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 273 } }, "155": { "accessible_scopes": [ "__main__", "__main__.get_declared_classes" ], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 286, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 286 } }, "157": { "accessible_scopes": [ "__main__", "__main__.get_declared_classes" ], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 2 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } }, "hints": [ { "location": { "end_col": 7, "end_line": 301, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 289 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 27, "end_line": 287, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 302, "input_file": { "filename": "src/differ.cairo" }, "start_col": 30, "start_line": 302 }, "While expanding the reference 'declared_classes' in:" ], "start_col": 11, "start_line": 287 } }, "158": { "accessible_scopes": [ "__main__", "__main__.get_declared_classes" ], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 3 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } }, "hints": [], "inst": { "end_col": 31, "end_line": 288, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 89, "end_line": 302, "input_file": { "filename": "src/differ.cairo" }, "start_col": 69, "start_line": 302 }, "While expanding the reference 'declared_classes_len' in:" ], "start_col": 11, "start_line": 288 } }, "159": { "accessible_scopes": [ "__main__", "__main__.get_declared_classes" ], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 4 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } }, "hints": [], "inst": { "end_col": 91, "end_line": 302, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 302 } }, "160": { "accessible_scopes": [ "__main__", "__main__.hash_declared_class" ], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 0 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 52, "end_line": 305, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 309, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 309 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 26, "start_line": 305 } }, "161": { "accessible_scopes": [ "__main__", "__main__.hash_declared_class" ], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 1 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 40, "end_line": 308, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 310, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 310 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 308 } }, "162": { "accessible_scopes": [ "__main__", "__main__.hash_declared_class" ], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 2 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 48, "end_line": 310, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 310 } }, "163": { "accessible_scopes": [ "__main__", "__main__.hash_declared_class" ], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 3 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 6, "end_line": 311, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 309 } }, "165": { "accessible_scopes": [ "__main__", "__main__.hash_declared_class" ], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 7 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 82, "__main__.hash_declared_class.res": 83 } }, "hints": [], "inst": { "end_col": 22, "end_line": 312, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 312 } }, "166": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 7, "end_line": 318, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 318 } }, "168": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 59, "end_line": 315, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 59, "end_line": 315, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 319, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 319 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 315 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 315 } }, "169": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 1 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 14, "end_line": 316, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 319, "input_file": { "filename": "src/differ.cairo" }, "start_col": 21, "start_line": 319 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 316 } }, "170": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 2 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 26, "end_line": 319, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 319 } }, "171": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 18, "end_line": 321, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 321 } }, "173": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 59, "end_line": 315, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 63, "end_line": 323, "input_file": { "filename": "src/differ.cairo" }, "start_col": 51, "start_line": 323 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 315 } }, "174": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 1 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 44, "end_line": 322, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 79, "end_line": 323, "input_file": { "filename": "src/differ.cairo" }, "start_col": 65, "start_line": 323 }, "While expanding the reference 'declared_class' in:" ], "start_col": 26, "start_line": 322 } }, "175": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 2 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 80, "end_line": 323, "input_file": { "filename": "src/differ.cairo" }, "start_col": 18, "start_line": 323 } }, "177": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 11 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 63, "end_line": 323, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 324, "input_file": { "filename": "src/differ.cairo" }, "start_col": 32, "start_line": 324 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 51, "start_line": 323 } }, "178": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 12 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 14, "end_line": 316, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 325, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 325 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 316 } }, "179": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 13 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 14, "end_line": 323, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 325, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 325 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 323 } }, "180": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 14 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 6, "end_line": 326, "input_file": { "filename": "src/differ.cairo" }, "start_col": 17, "start_line": 324 } }, "182": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 18 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 91, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 46, "end_line": 329, "input_file": { "filename": "src/differ.cairo" }, "start_col": 26, "start_line": 329 } }, "184": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 19 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 91, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 54, "end_line": 330, "input_file": { "filename": "src/differ.cairo" }, "start_col": 30, "start_line": 330 } }, "186": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 20 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 91, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 6, "end_line": 331, "input_file": { "filename": "src/differ.cairo" }, "start_col": 12, "start_line": 327 } }, "188": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 23, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 93, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 7, "end_line": 331, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 327 } }, "189": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 96 } }, "hints": [], "inst": { "end_col": 7, "end_line": 335, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 335 } }, "191": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 96 } }, "hints": [], "inst": { "end_col": 36, "end_line": 334, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 36, "end_line": 334, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 19, "end_line": 336, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 336 }, "While trying to retrieve the implicit argument 'output_ptr' in:" ], "start_col": 19, "start_line": 334 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 19, "start_line": 334 } }, "192": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 1 }, "reference_ids": { "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 96 } }, "hints": [], "inst": { "end_col": 19, "end_line": 336, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 336 } }, "193": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 96 } }, "hints": [], "inst": { "end_col": 18, "end_line": 338, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 338 } }, "195": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 96, "__main__.output_array.value": 97 } }, "hints": [], "inst": { "end_col": 24, "end_line": 339, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 33, "end_line": 340, "input_file": { "filename": "src/differ.cairo" }, "start_col": 28, "start_line": 340 }, "While expanding the reference 'value' in:" ], "start_col": 17, "start_line": 339 } }, "196": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 1 }, "reference_ids": { "__main__.output_array.__temp0": 98, "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 96, "__main__.output_array.value": 97 } }, "hints": [], "inst": { "end_col": 34, "end_line": 340, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 340 } }, "197": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 1 }, "reference_ids": { "__main__.output_array.__temp0": 98, "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 99, "__main__.output_array.value": 97 } }, "hints": [], "inst": { "end_col": 36, "end_line": 341, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 342, "input_file": { "filename": "src/differ.cairo" }, "start_col": 36, "start_line": 342 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 22, "start_line": 341 } }, "199": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 2 }, "reference_ids": { "__main__.output_array.__temp0": 98, "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 99, "__main__.output_array.value": 97 } }, "hints": [], "inst": { "end_col": 57, "end_line": 342, "input_file": { "filename": "src/differ.cairo" }, "start_col": 48, "start_line": 342 } }, "201": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 3 }, "reference_ids": { "__main__.output_array.__temp0": 98, "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 99, "__main__.output_array.value": 97 } }, "hints": [], "inst": { "end_col": 66, "end_line": 342, "input_file": { "filename": "src/differ.cairo" }, "start_col": 59, "start_line": 342 } }, "203": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 4 }, "reference_ids": { "__main__.output_array.__temp0": 98, "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 99, "__main__.output_array.value": 97 } }, "hints": [], "inst": { "end_col": 67, "end_line": 342, "input_file": { "filename": "src/differ.cairo" }, "start_col": 12, "start_line": 342 } }, "205": { "accessible_scopes": [ "__main__", "__main__.output_array" ], "flow_tracking_data": { "ap_tracking": { "group": 25, "offset": 0 }, "reference_ids": { "__main__.output_array.__temp0": 98, "__main__.output_array.array": 94, "__main__.output_array.len": 95, "__main__.output_array.output_ptr": 100, "__main__.output_array.value": 97 } }, "hints": [], "inst": { "end_col": 68, "end_line": 342, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 342 } }, "206": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 18, "end_line": 346, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 346 } }, "208": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 13 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 21, "end_line": 350, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 350 } }, "210": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 27 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 105, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 349 }, "While auto generating local variable for 'input_config'." ], "start_col": 9, "start_line": 349 } }, "211": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 27 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 105, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 349 }, "While auto generating local variable for 'input_config'." ], "start_col": 9, "start_line": 349 } }, "212": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 27 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 105, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 349 }, "While auto generating local variable for 'input_config'." ], "start_col": 9, "start_line": 349 } }, "213": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 27 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 105, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 349, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 349 }, "While auto generating local variable for 'input_config'." ], "start_col": 9, "start_line": 349 } }, "214": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 27 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 106, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 28, "end_line": 354, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 354 } }, "216": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 33 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103 } }, "hints": [], "inst": { "end_col": 30, "end_line": 358, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 358 } }, "218": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 39 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 109, "__main__.main.storage_updates_len": 110 } }, "hints": [], "inst": { "end_col": 41, "end_line": 356, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 41, "end_line": 356, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 356 }, "While auto generating local variable for 'storage_updates'." ], "start_col": 9, "start_line": 356 } }, "219": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 39 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 110 } }, "hints": [], "inst": { "end_col": 34, "end_line": 357, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 357, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 357 }, "While auto generating local variable for 'storage_updates_len'." ], "start_col": 9, "start_line": 357 } }, "220": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 39 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 31, "end_line": 362, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 362 } }, "222": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 45 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 113, "__main__.main.contract_updates_len": 114, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 43, "end_line": 360, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 43, "end_line": 360, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 360 }, "While auto generating local variable for 'contract_updates'." ], "start_col": 9, "start_line": 360 } }, "223": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 45 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 114, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 35, "end_line": 361, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 35, "end_line": 361, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 361 }, "While auto generating local variable for 'contract_updates_len'." ], "start_col": 9, "start_line": 361 } }, "224": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 45 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 31, "end_line": 366, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 366 } }, "226": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 51 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 117, "__main__.main.declared_classes_len": 118, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 42, "end_line": 364, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 42, "end_line": 364, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 364 }, "While auto generating local variable for 'declared_classes'." ], "start_col": 9, "start_line": 364 } }, "227": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 51 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 118, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 35, "end_line": 365, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 35, "end_line": 365, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 365 }, "While auto generating local variable for 'declared_classes_len'." ], "start_col": 9, "start_line": 365 } }, "228": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 51 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 56, "end_line": 345, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 43, "end_line": 368, "input_file": { "filename": "src/differ.cairo" }, "start_col": 31, "start_line": 368 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 345 } }, "229": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 52 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 37, "end_line": 369, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 369 } }, "230": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 53 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 64, "end_line": 369, "input_file": { "filename": "src/differ.cairo" }, "start_col": 39, "start_line": 369 } }, "231": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 54 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 102, "__main__.main.range_check_ptr": 103, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 6, "end_line": 370, "input_file": { "filename": "src/differ.cairo" }, "start_col": 16, "start_line": 368 } }, "233": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 58 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 121, "__main__.main.range_check_ptr": 103, "__main__.main.res": 122, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 37, "end_line": 372, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 372 } }, "234": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 59 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 121, "__main__.main.range_check_ptr": 103, "__main__.main.res": 122, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 6, "end_line": 373, "input_file": { "filename": "src/differ.cairo" }, "start_col": 16, "start_line": 371 } }, "236": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 63 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 123, "__main__.main.range_check_ptr": 103, "__main__.main.res": 124, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 38, "end_line": 375, "input_file": { "filename": "src/differ.cairo" }, "start_col": 14, "start_line": 375 } }, "237": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 64 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 123, "__main__.main.range_check_ptr": 103, "__main__.main.res": 124, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 6, "end_line": 376, "input_file": { "filename": "src/differ.cairo" }, "start_col": 16, "start_line": 374 } }, "239": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 68 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 125, "__main__.main.range_check_ptr": 103, "__main__.main.res": 126, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 37, "end_line": 352, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 22, "end_line": 379, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 379 }, "While expanding the reference 'nonce_updates' in:" ], "start_col": 9, "start_line": 352 } }, "240": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 69 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 125, "__main__.main.range_check_ptr": 103, "__main__.main.res": 126, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 32, "end_line": 353, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 380, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 380 }, "While expanding the reference 'nonce_updates_len' in:" ], "start_col": 9, "start_line": 353 } }, "241": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 70 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 125, "__main__.main.range_check_ptr": 103, "__main__.main.res": 126, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 6, "end_line": 381, "input_file": { "filename": "src/differ.cairo" }, "start_col": 16, "start_line": 377 } }, "243": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 127, "__main__.main.range_check_ptr": 103, "__main__.main.res": 128, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 41, "end_line": 356, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 41, "end_line": 356, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 384, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 384 }, "While expanding the reference 'storage_updates' in:" ], "start_col": 9, "start_line": 356 }, "While auto generating local variable for 'storage_updates'." ], "start_col": 9, "start_line": 356 } }, "244": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 1 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 127, "__main__.main.range_check_ptr": 103, "__main__.main.res": 128, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 34, "end_line": 357, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 357, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 28, "end_line": 385, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 385 }, "While expanding the reference 'storage_updates_len' in:" ], "start_col": 9, "start_line": 357 }, "While auto generating local variable for 'storage_updates_len'." ], "start_col": 9, "start_line": 357 } }, "245": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 2 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 127, "__main__.main.range_check_ptr": 103, "__main__.main.res": 128, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 6, "end_line": 386, "input_file": { "filename": "src/differ.cairo" }, "start_col": 16, "start_line": 382 } }, "247": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 28, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 129, "__main__.main.range_check_ptr": 103, "__main__.main.res": 130, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 43, "end_line": 360, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 43, "end_line": 360, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 25, "end_line": 389, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 389 }, "While expanding the reference 'contract_updates' in:" ], "start_col": 9, "start_line": 360 }, "While auto generating local variable for 'contract_updates'." ], "start_col": 9, "start_line": 360 } }, "248": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 28, "offset": 1 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 129, "__main__.main.range_check_ptr": 103, "__main__.main.res": 130, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 35, "end_line": 361, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 35, "end_line": 361, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 29, "end_line": 390, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 390 }, "While expanding the reference 'contract_updates_len' in:" ], "start_col": 9, "start_line": 361 }, "While auto generating local variable for 'contract_updates_len'." ], "start_col": 9, "start_line": 361 } }, "249": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 28, "offset": 2 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 129, "__main__.main.range_check_ptr": 103, "__main__.main.res": 130, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 6, "end_line": 391, "input_file": { "filename": "src/differ.cairo" }, "start_col": 16, "start_line": 387 } }, "251": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 131, "__main__.main.range_check_ptr": 103, "__main__.main.res": 132, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 42, "end_line": 364, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 42, "end_line": 364, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 25, "end_line": 394, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 394 }, "While expanding the reference 'declared_classes' in:" ], "start_col": 9, "start_line": 364 }, "While auto generating local variable for 'declared_classes'." ], "start_col": 9, "start_line": 364 } }, "252": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 1 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 131, "__main__.main.range_check_ptr": 103, "__main__.main.res": 132, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 35, "end_line": 365, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 35, "end_line": 365, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 29, "end_line": 395, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 395 }, "While expanding the reference 'declared_classes_len' in:" ], "start_col": 9, "start_line": 365 }, "While auto generating local variable for 'declared_classes_len'." ], "start_col": 9, "start_line": 365 } }, "253": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 2 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 131, "__main__.main.range_check_ptr": 103, "__main__.main.res": 132, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 6, "end_line": 396, "input_file": { "filename": "src/differ.cairo" }, "start_col": 16, "start_line": 392 } }, "255": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 57, "end_line": 398, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 398 } }, "256": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 32, "end_line": 399, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 399 } }, "257": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 54, "end_line": 400, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 400 } }, "258": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 52, "end_line": 401, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 401 } }, "259": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 53, "end_line": 402, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 402 } }, "260": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112 } }, "hints": [], "inst": { "end_col": 63, "end_line": 404, "input_file": { "filename": "src/differ.cairo" }, "start_col": 49, "start_line": 404 } }, "262": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 6 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 137, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 68, "end_line": 392, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 71, "end_line": 406, "input_file": { "filename": "src/differ.cairo" }, "start_col": 59, "start_line": 406 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 56, "start_line": 392 } }, "263": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 7 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 137, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 26, "end_line": 405, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 22, "end_line": 407, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 407 }, "While expanding the reference 'world_da_hash' in:" ], "start_col": 25, "start_line": 405 } }, "265": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 8 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 137, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 25, "end_line": 404, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 32, "end_line": 407, "input_file": { "filename": "src/differ.cairo" }, "start_col": 24, "start_line": 407 }, "While expanding the reference 'world_da' in:" ], "start_col": 10, "start_line": 404 } }, "266": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 9 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 137, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 45, "end_line": 404, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 407, "input_file": { "filename": "src/differ.cairo" }, "start_col": 34, "start_line": 407 }, "While expanding the reference 'world_da_len' in:" ], "start_col": 27, "start_line": 404 } }, "267": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 10 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 133, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 137, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 6, "end_line": 408, "input_file": { "filename": "src/differ.cairo" }, "start_col": 27, "start_line": 406 } }, "269": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 138, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 71, "end_line": 406, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 71, "end_line": 406, "input_file": { "filename": "src/differ.cairo" }, "start_col": 59, "start_line": 406 }, "While auto generating local variable for 'pedersen_ptr'." ], "start_col": 59, "start_line": 406 } }, "270": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 101, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 42, "end_line": 410, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 410 } }, "271": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 141, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 23, "end_line": 419, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 419 } }, "273": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 10 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 144, "__main__.main.message_to_appchain_segment_len": 145, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 141, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 46, "end_line": 418, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 418, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 418 }, "While auto generating local variable for 'message_to_appchain_segment_len'." ], "start_col": 9, "start_line": 418 } }, "274": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 10 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 144, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 141, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 43, "end_line": 417, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 43, "end_line": 417, "input_file": { "filename": "src/differ.cairo" }, "start_col": 9, "start_line": 417 }, "While auto generating local variable for 'message_to_appchain_segment'." ], "start_col": 9, "start_line": 417 } }, "275": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 10 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 141, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 60, "end_line": 421, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 421 } }, "276": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 10 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 148, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 36, "end_line": 422, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 39, "end_line": 423, "input_file": { "filename": "src/differ.cairo" }, "start_col": 29, "start_line": 423 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 22, "start_line": 422 } }, "278": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 11 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 148, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 43, "end_line": 415, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 68, "end_line": 423, "input_file": { "filename": "src/differ.cairo" }, "start_col": 41, "start_line": 423 }, "While expanding the reference 'message_to_starknet_segment' in:" ], "start_col": 9, "start_line": 415 } }, "279": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 12 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 148, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 46, "end_line": 416, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 101, "end_line": 423, "input_file": { "filename": "src/differ.cairo" }, "start_col": 70, "start_line": 423 }, "While expanding the reference 'message_to_starknet_segment_len' in:" ], "start_col": 9, "start_line": 416 } }, "280": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 13 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 148, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 102, "end_line": 423, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 423 } }, "282": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 149, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 60, "end_line": 424, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 424 } }, "283": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 150, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 36, "end_line": 425, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 39, "end_line": 426, "input_file": { "filename": "src/differ.cairo" }, "start_col": 29, "start_line": 426 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 22, "start_line": 425 } }, "285": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 1 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 150, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 43, "end_line": 417, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 43, "end_line": 417, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 68, "end_line": 426, "input_file": { "filename": "src/differ.cairo" }, "start_col": 41, "start_line": 426 }, "While expanding the reference 'message_to_appchain_segment' in:" ], "start_col": 9, "start_line": 417 }, "While auto generating local variable for 'message_to_appchain_segment'." ], "start_col": 9, "start_line": 417 } }, "286": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 2 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 150, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 46, "end_line": 418, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 418, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 101, "end_line": 426, "input_file": { "filename": "src/differ.cairo" }, "start_col": 70, "start_line": 426 }, "While expanding the reference 'message_to_appchain_segment_len' in:" ], "start_col": 9, "start_line": 418 }, "While auto generating local variable for 'message_to_appchain_segment_len'." ], "start_col": 9, "start_line": 418 } }, "287": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 3 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 150, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 102, "end_line": 426, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 426 } }, "289": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 151, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 71, "end_line": 406, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 71, "end_line": 406, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 56, "end_line": 345, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 15, "end_line": 428, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 428 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 345 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 59, "start_line": 406 }, "While auto generating local variable for 'pedersen_ptr'." ], "start_col": 59, "start_line": 406 } }, "290": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 1 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 151, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 79, "end_line": 345, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 79, "end_line": 345, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 15, "end_line": 428, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 428 }, "While trying to retrieve the implicit argument 'range_check_ptr' in:" ], "start_col": 58, "start_line": 345 }, "While expanding the reference 'range_check_ptr' in:" ], "start_col": 58, "start_line": 345 } }, "291": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 2 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 151, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 99, "end_line": 345, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 99, "end_line": 345, "input_file": { "filename": "src/differ.cairo" }, "parent_location": [ { "end_col": 15, "end_line": 428, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 428 }, "While trying to retrieve the implicit argument 'bitwise_ptr' in:" ], "start_col": 81, "start_line": 345 }, "While expanding the reference 'bitwise_ptr' in:" ], "start_col": 81, "start_line": 345 } }, "292": { "accessible_scopes": [ "__main__", "__main__.main" ], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 3 }, "reference_ids": { "__main__.main.bitwise_ptr": 104, "__main__.main.contract_updates": 115, "__main__.main.contract_updates_len": 116, "__main__.main.declared_classes": 119, "__main__.main.declared_classes_len": 120, "__main__.main.input_config": 106, "__main__.main.message_to_appchain_segment": 147, "__main__.main.message_to_appchain_segment_len": 146, "__main__.main.message_to_starknet_segment": 142, "__main__.main.message_to_starknet_segment_len": 143, "__main__.main.nonce_updates": 107, "__main__.main.nonce_updates_len": 108, "__main__.main.output_ptr": 151, "__main__.main.pedersen_ptr": 140, "__main__.main.range_check_ptr": 103, "__main__.main.res": 134, "__main__.main.storage_updates": 111, "__main__.main.storage_updates_len": 112, "__main__.main.world_da": 135, "__main__.main.world_da_hash": 139, "__main__.main.world_da_len": 136 } }, "hints": [], "inst": { "end_col": 15, "end_line": 428, "input_file": { "filename": "src/differ.cairo" }, "start_col": 5, "start_line": 428 } } } }, "hints": { "14": [ { "accessible_scopes": [ "__main__", "__main__.get_hashes" ], "code": "ids.prev_state_root = int(program_input[\"prev_state_root\"])\nids.block_number = int(program_input[\"block_number\"])\nids.block_hash = int(program_input[\"block_hash\"])\nids.config_hash = int(program_input[\"config_hash\"])", "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 8 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } } } ], "21": [ { "accessible_scopes": [ "__main__", "__main__.get_world_da" ], "code": "world_da = [int(wd) for wd in program_input[\"world_da\"]]\nids.world_da = segments.gen_arg(world_da)\nids.world_da_len = len(world_da)", "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 2 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } } } ], "45": [ { "accessible_scopes": [ "__main__", "__main__.get_messages" ], "code": "message_to_starknet_segment = \\\n [int(x) for x in program_input[\"message_to_starknet_segment\"]]\nmessage_to_appchain_segment = \\\n[int(x) for x in program_input[\"message_to_appchain_segment\"]]\n\nids.message_to_starknet_segment = \\\n segments.gen_arg(message_to_starknet_segment)\nids.message_to_starknet_segment_len = \\\n len(message_to_starknet_segment)\nids.message_to_appchain_segment = \\\n segments.gen_arg(message_to_appchain_segment)\nids.message_to_appchain_segment_len = \\\n len(message_to_appchain_segment)", "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 4 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } } } ], "52": [ { "accessible_scopes": [ "__main__", "__main__.get_nonce_updates" ], "code": "program_input_nonce_updates = program_input[\"nonce_updates\"]\n\nnonce_updates = [\n (\n int(key),\n int(value),\n )\n for key, value in program_input_nonce_updates.items()\n]\nids.nonce_updates = segments.gen_arg(nonce_updates)\nids.nonce_updates_len = len(nonce_updates)", "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 2 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } } } ], "86": [ { "accessible_scopes": [ "__main__", "__main__.get_storage_updates" ], "code": "program_input_storage_updates = program_input[\"storage_updates\"]\n\nstorage_updates = [\n (\n int(contract),\n int(key),\n int(value),\n )\n for \n contract, update in \n program_input_storage_updates.items() \n for \n key, value in update.items()\n]\nids.storage_updates = segments.gen_arg(storage_updates)\nids.storage_updates_len = len(storage_updates)", "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 2 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } } } ], "123": [ { "accessible_scopes": [ "__main__", "__main__.get_contract_updates" ], "code": "program_input_contract_updates = program_input[\"contract_updates\"]\n\ncontract_updates = [\n (\n int(key),\n int(value),\n )\n for key, value in program_input_contract_updates.items()\n]\nids.contract_updates = segments.gen_arg(contract_updates)\nids.contract_updates_len = len(contract_updates)", "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 2 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } } } ], "157": [ { "accessible_scopes": [ "__main__", "__main__.get_declared_classes" ], "code": "program_input_declared_classes = program_input[\"declared_classes\"]\n\ndeclared_classes = [\n (\n int(key),\n int(value),\n )\n for key, value in program_input_declared_classes.items()\n]\nids.declared_classes = segments.gen_arg(declared_classes)\nids.declared_classes_len = len(declared_classes)", "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 2 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } } } ] }, "identifiers": { "__main__.ContractUpdate": { "full_name": "__main__.ContractUpdate", "members": { "class_hash": { "cairo_type": "felt", "offset": 1 }, "contract_address": { "cairo_type": "felt", "offset": 0 } }, "size": 2, "type": "struct" }, "__main__.DeclaredClass": { "full_name": "__main__.DeclaredClass", "members": { "class_hash": { "cairo_type": "felt", "offset": 0 }, "compiled_class_hash": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "__main__.HashBuiltin": { "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", "type": "alias" }, "__main__.InputConfig": { "full_name": "__main__.InputConfig", "members": { "block_hash": { "cairo_type": "felt", "offset": 2 }, "block_number": { "cairo_type": "felt", "offset": 1 }, "config_hash": { "cairo_type": "felt", "offset": 3 }, "prev_state_root": { "cairo_type": "felt", "offset": 0 } }, "size": 4, "type": "struct" }, "__main__.NonceUpdate": { "full_name": "__main__.NonceUpdate", "members": { "contract_address": { "cairo_type": "felt", "offset": 0 }, "nonce": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "__main__.StorageUpdate": { "full_name": "__main__.StorageUpdate", "members": { "contract_address": { "cairo_type": "felt", "offset": 0 }, "storage_key": { "cairo_type": "felt", "offset": 1 }, "storage_value": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" }, "__main__.__end__": { "pc": 4, "type": "label" }, "__main__.__start__": { "pc": 0, "type": "label" }, "__main__.get_contract_updates": { "decorators": [], "pc": 121, "type": "function" }, "__main__.get_contract_updates.Args": { "full_name": "__main__.get_contract_updates.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_contract_updates.ImplicitArgs": { "full_name": "__main__.get_contract_updates.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_contract_updates.Return": { "cairo_type": "(contract_updates: __main__.ContractUpdate**, contract_updates_len: felt)", "type": "type_definition" }, "__main__.get_contract_updates.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_contract_updates.contract_updates": { "cairo_type": "__main__.ContractUpdate**", "full_name": "__main__.get_contract_updates.contract_updates", "references": [ { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp, __main__.ContractUpdate***)]" } ], "type": "reference" }, "__main__.get_contract_updates.contract_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_contract_updates.contract_updates_len", "references": [ { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_declared_classes": { "decorators": [], "pc": 155, "type": "function" }, "__main__.get_declared_classes.Args": { "full_name": "__main__.get_declared_classes.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_declared_classes.ImplicitArgs": { "full_name": "__main__.get_declared_classes.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_declared_classes.Return": { "cairo_type": "(declared_classes: __main__.DeclaredClass**, declared_classes_len: felt)", "type": "type_definition" }, "__main__.get_declared_classes.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_declared_classes.declared_classes": { "cairo_type": "__main__.DeclaredClass**", "full_name": "__main__.get_declared_classes.declared_classes", "references": [ { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp, __main__.DeclaredClass***)]" } ], "type": "reference" }, "__main__.get_declared_classes.declared_classes_len": { "cairo_type": "felt", "full_name": "__main__.get_declared_classes.declared_classes_len", "references": [ { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_hashes": { "decorators": [], "pc": 12, "type": "function" }, "__main__.get_hashes.Args": { "full_name": "__main__.get_hashes.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_hashes.ImplicitArgs": { "full_name": "__main__.get_hashes.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_hashes.Return": { "cairo_type": "(input_config: __main__.InputConfig)", "type": "type_definition" }, "__main__.get_hashes.SIZEOF_LOCALS": { "type": "const", "value": 8 }, "__main__.get_hashes.block_hash": { "cairo_type": "felt", "full_name": "__main__.get_hashes.block_hash", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 6, felt*)]" } ], "type": "reference" }, "__main__.get_hashes.block_number": { "cairo_type": "felt", "full_name": "__main__.get_hashes.block_number", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 5, felt*)]" } ], "type": "reference" }, "__main__.get_hashes.config_hash": { "cairo_type": "felt", "full_name": "__main__.get_hashes.config_hash", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 7, felt*)]" } ], "type": "reference" }, "__main__.get_hashes.input_config": { "cairo_type": "__main__.InputConfig", "full_name": "__main__.get_hashes.input_config", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp, __main__.InputConfig*)]" } ], "type": "reference" }, "__main__.get_hashes.prev_state_root": { "cairo_type": "felt", "full_name": "__main__.get_hashes.prev_state_root", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 4, felt*)]" } ], "type": "reference" }, "__main__.get_messages": { "decorators": [], "pc": 43, "type": "function" }, "__main__.get_messages.Args": { "full_name": "__main__.get_messages.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_messages.ImplicitArgs": { "full_name": "__main__.get_messages.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_messages.Return": { "cairo_type": "(message_to_starknet_segment: felt*, message_to_starknet_segment_len: felt, message_to_appchain_segment: felt*, message_to_appchain_segment_len: felt)", "type": "type_definition" }, "__main__.get_messages.SIZEOF_LOCALS": { "type": "const", "value": 4 }, "__main__.get_messages.message_to_appchain_segment": { "cairo_type": "felt*", "full_name": "__main__.get_messages.message_to_appchain_segment", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 2, felt**)]" } ], "type": "reference" }, "__main__.get_messages.message_to_appchain_segment_len": { "cairo_type": "felt", "full_name": "__main__.get_messages.message_to_appchain_segment_len", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 3, felt*)]" } ], "type": "reference" }, "__main__.get_messages.message_to_starknet_segment": { "cairo_type": "felt*", "full_name": "__main__.get_messages.message_to_starknet_segment", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp, felt**)]" } ], "type": "reference" }, "__main__.get_messages.message_to_starknet_segment_len": { "cairo_type": "felt", "full_name": "__main__.get_messages.message_to_starknet_segment_len", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_nonce_updates": { "decorators": [], "pc": 50, "type": "function" }, "__main__.get_nonce_updates.Args": { "full_name": "__main__.get_nonce_updates.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_nonce_updates.ImplicitArgs": { "full_name": "__main__.get_nonce_updates.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_nonce_updates.Return": { "cairo_type": "(nonce_updates: __main__.NonceUpdate**, nonce_updates_len: felt)", "type": "type_definition" }, "__main__.get_nonce_updates.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_nonce_updates.nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "full_name": "__main__.get_nonce_updates.nonce_updates", "references": [ { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp, __main__.NonceUpdate***)]" } ], "type": "reference" }, "__main__.get_nonce_updates.nonce_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_nonce_updates.nonce_updates_len", "references": [ { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_storage_updates": { "decorators": [], "pc": 84, "type": "function" }, "__main__.get_storage_updates.Args": { "full_name": "__main__.get_storage_updates.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_storage_updates.ImplicitArgs": { "full_name": "__main__.get_storage_updates.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_storage_updates.Return": { "cairo_type": "(storage_updates: __main__.StorageUpdate**, storage_updates_len: felt)", "type": "type_definition" }, "__main__.get_storage_updates.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_storage_updates.storage_updates": { "cairo_type": "__main__.StorageUpdate**", "full_name": "__main__.get_storage_updates.storage_updates", "references": [ { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp, __main__.StorageUpdate***)]" } ], "type": "reference" }, "__main__.get_storage_updates.storage_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_storage_updates.storage_updates_len", "references": [ { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_world_da": { "decorators": [], "pc": 19, "type": "function" }, "__main__.get_world_da.Args": { "full_name": "__main__.get_world_da.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_world_da.ImplicitArgs": { "full_name": "__main__.get_world_da.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_world_da.Return": { "cairo_type": "(world_da: felt*, world_da_len: felt)", "type": "type_definition" }, "__main__.get_world_da.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_world_da.world_da": { "cairo_type": "felt*", "full_name": "__main__.get_world_da.world_da", "references": [ { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp, felt**)]" } ], "type": "reference" }, "__main__.get_world_da.world_da_len": { "cairo_type": "felt", "full_name": "__main__.get_world_da.world_da_len", "references": [ { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.hash2": { "destination": "starkware.cairo.common.hash.hash2", "type": "alias" }, "__main__.hash_contract_update": { "decorators": [], "pc": 126, "type": "function" }, "__main__.hash_contract_update.Args": { "full_name": "__main__.hash_contract_update.Args", "members": { "contract_update": { "cairo_type": "__main__.ContractUpdate*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_contract_update.ImplicitArgs": { "full_name": "__main__.hash_contract_update.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_contract_update.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_contract_update.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_contract_update.contract_update": { "cairo_type": "__main__.ContractUpdate*", "full_name": "__main__.hash_contract_update.contract_update", "references": [ { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-3), __main__.ContractUpdate**)]" } ], "type": "reference" }, "__main__.hash_contract_update.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_contract_update.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_contract_update.res": { "cairo_type": "felt", "full_name": "__main__.hash_contract_update.res", "references": [ { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop": { "decorators": [], "pc": 132, "type": "function" }, "__main__.hash_contract_updates_loop.Args": { "full_name": "__main__.hash_contract_updates_loop.Args", "members": { "contract_updates": { "cairo_type": "__main__.ContractUpdate**", "offset": 1 }, "contract_updates_len": { "cairo_type": "felt", "offset": 2 }, "res": { "cairo_type": "felt", "offset": 0 } }, "size": 3, "type": "struct" }, "__main__.hash_contract_updates_loop.ImplicitArgs": { "full_name": "__main__.hash_contract_updates_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_contract_updates_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_contract_updates_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_contract_updates_loop.contract_update": { "cairo_type": "__main__.ContractUpdate*", "full_name": "__main__.hash_contract_updates_loop.contract_update", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 139, "value": "[cast([fp + (-4)], __main__.ContractUpdate**)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.contract_updates": { "cairo_type": "__main__.ContractUpdate**", "full_name": "__main__.hash_contract_updates_loop.contract_updates", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-4), __main__.ContractUpdate***)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.contract_updates_len": { "cairo_type": "felt", "full_name": "__main__.hash_contract_updates_loop.contract_updates_len", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_contract_updates_loop.hash", "references": [ { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_contract_updates_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 19, "offset": 0 }, "pc": 154, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_contract_updates_loop.res", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_class": { "decorators": [], "pc": 160, "type": "function" }, "__main__.hash_declared_class.Args": { "full_name": "__main__.hash_declared_class.Args", "members": { "declared_class": { "cairo_type": "__main__.DeclaredClass*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_declared_class.ImplicitArgs": { "full_name": "__main__.hash_declared_class.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_declared_class.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_declared_class.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_declared_class.declared_class": { "cairo_type": "__main__.DeclaredClass*", "full_name": "__main__.hash_declared_class.declared_class", "references": [ { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-3), __main__.DeclaredClass**)]" } ], "type": "reference" }, "__main__.hash_declared_class.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_declared_class.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_declared_class.res": { "cairo_type": "felt", "full_name": "__main__.hash_declared_class.res", "references": [ { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop": { "decorators": [], "pc": 166, "type": "function" }, "__main__.hash_declared_classes_loop.Args": { "full_name": "__main__.hash_declared_classes_loop.Args", "members": { "declared_classes": { "cairo_type": "__main__.DeclaredClass**", "offset": 1 }, "declared_classes_len": { "cairo_type": "felt", "offset": 2 }, "res": { "cairo_type": "felt", "offset": 0 } }, "size": 3, "type": "struct" }, "__main__.hash_declared_classes_loop.ImplicitArgs": { "full_name": "__main__.hash_declared_classes_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_declared_classes_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_declared_classes_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_declared_classes_loop.declared_class": { "cairo_type": "__main__.DeclaredClass*", "full_name": "__main__.hash_declared_classes_loop.declared_class", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 173, "value": "[cast([fp + (-4)], __main__.DeclaredClass**)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.declared_classes": { "cairo_type": "__main__.DeclaredClass**", "full_name": "__main__.hash_declared_classes_loop.declared_classes", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-4), __main__.DeclaredClass***)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.declared_classes_len": { "cairo_type": "felt", "full_name": "__main__.hash_declared_classes_loop.declared_classes_len", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_declared_classes_loop.hash", "references": [ { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_declared_classes_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 23, "offset": 0 }, "pc": 188, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_declared_classes_loop.res", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_update": { "decorators": [], "pc": 55, "type": "function" }, "__main__.hash_nonce_update.Args": { "full_name": "__main__.hash_nonce_update.Args", "members": { "nonce_update": { "cairo_type": "__main__.NonceUpdate*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_nonce_update.ImplicitArgs": { "full_name": "__main__.hash_nonce_update.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_nonce_update.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_nonce_update.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_nonce_update.nonce_update": { "cairo_type": "__main__.NonceUpdate*", "full_name": "__main__.hash_nonce_update.nonce_update", "references": [ { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-3), __main__.NonceUpdate**)]" } ], "type": "reference" }, "__main__.hash_nonce_update.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_nonce_update.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_nonce_update.res": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_update.res", "references": [ { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop": { "decorators": [], "pc": 61, "type": "function" }, "__main__.hash_nonce_updates_loop.Args": { "full_name": "__main__.hash_nonce_updates_loop.Args", "members": { "nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "offset": 1 }, "nonce_updates_len": { "cairo_type": "felt", "offset": 2 }, "res": { "cairo_type": "felt", "offset": 0 } }, "size": 3, "type": "struct" }, "__main__.hash_nonce_updates_loop.ImplicitArgs": { "full_name": "__main__.hash_nonce_updates_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_nonce_updates_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_nonce_updates_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_nonce_updates_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_updates_loop.hash", "references": [ { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.nonce_update": { "cairo_type": "__main__.NonceUpdate*", "full_name": "__main__.hash_nonce_updates_loop.nonce_update", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 68, "value": "[cast([fp + (-4)], __main__.NonceUpdate**)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "full_name": "__main__.hash_nonce_updates_loop.nonce_updates", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-4), __main__.NonceUpdate***)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.nonce_updates_len": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_updates_loop.nonce_updates_len", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_nonce_updates_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 11, "offset": 0 }, "pc": 83, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_updates_loop.res", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_update": { "decorators": [], "pc": 89, "type": "function" }, "__main__.hash_storage_update.Args": { "full_name": "__main__.hash_storage_update.Args", "members": { "storage_update": { "cairo_type": "__main__.StorageUpdate*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_storage_update.ImplicitArgs": { "full_name": "__main__.hash_storage_update.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_storage_update.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_storage_update.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_storage_update.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_storage_update.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_storage_update.res": { "cairo_type": "felt", "full_name": "__main__.hash_storage_update.res", "references": [ { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_update.storage_update": { "cairo_type": "__main__.StorageUpdate*", "full_name": "__main__.hash_storage_update.storage_update", "references": [ { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-3), __main__.StorageUpdate**)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop": { "decorators": [], "pc": 98, "type": "function" }, "__main__.hash_storage_updates_loop.Args": { "full_name": "__main__.hash_storage_updates_loop.Args", "members": { "res": { "cairo_type": "felt", "offset": 0 }, "storage_updates": { "cairo_type": "__main__.StorageUpdate**", "offset": 1 }, "storage_updates_len": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" }, "__main__.hash_storage_updates_loop.ImplicitArgs": { "full_name": "__main__.hash_storage_updates_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_storage_updates_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_storage_updates_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_storage_updates_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_storage_updates_loop.hash", "references": [ { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_storage_updates_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 15, "offset": 0 }, "pc": 120, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_storage_updates_loop.res", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.storage_update": { "cairo_type": "__main__.StorageUpdate*", "full_name": "__main__.hash_storage_updates_loop.storage_update", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 105, "value": "[cast([fp + (-4)], __main__.StorageUpdate**)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.storage_updates": { "cairo_type": "__main__.StorageUpdate**", "full_name": "__main__.hash_storage_updates_loop.storage_updates", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-4), __main__.StorageUpdate***)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.storage_updates_len": { "cairo_type": "felt", "full_name": "__main__.hash_storage_updates_loop.storage_updates_len", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_world_da_loop": { "decorators": [], "pc": 24, "type": "function" }, "__main__.hash_world_da_loop.Args": { "full_name": "__main__.hash_world_da_loop.Args", "members": { "res": { "cairo_type": "felt", "offset": 0 }, "world_da": { "cairo_type": "felt*", "offset": 1 }, "world_da_len": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" }, "__main__.hash_world_da_loop.ImplicitArgs": { "full_name": "__main__.hash_world_da_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_world_da_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_world_da_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_world_da_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_world_da_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 6, "offset": 0 }, "pc": 42, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_world_da_loop.res", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.value": { "cairo_type": "felt", "full_name": "__main__.hash_world_da_loop.value", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 31, "value": "[cast([fp + (-4)], felt*)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.world_da": { "cairo_type": "felt*", "full_name": "__main__.hash_world_da_loop.world_da", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-4), felt**)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.world_da_len": { "cairo_type": "felt", "full_name": "__main__.hash_world_da_loop.world_da_len", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.main": { "decorators": [], "pc": 206, "type": "function" }, "__main__.main.Args": { "full_name": "__main__.main.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.main.ImplicitArgs": { "full_name": "__main__.main.ImplicitArgs", "members": { "bitwise_ptr": { "cairo_type": "felt*", "offset": 3 }, "output_ptr": { "cairo_type": "felt*", "offset": 0 }, "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 1 }, "range_check_ptr": { "cairo_type": "felt", "offset": 2 } }, "size": 4, "type": "struct" }, "__main__.main.Return": { "cairo_type": "()", "type": "type_definition" }, "__main__.main.SIZEOF_LOCALS": { "type": "const", "value": 13 }, "__main__.main.bitwise_ptr": { "cairo_type": "felt*", "full_name": "__main__.main.bitwise_ptr", "references": [ { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-3), felt**)]" } ], "type": "reference" }, "__main__.main.contract_updates": { "cairo_type": "__main__.ContractUpdate**", "full_name": "__main__.main.contract_updates", "references": [ { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 222, "value": "[cast(ap + (-2), __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 223, "value": "[cast(fp + 6, __main__.ContractUpdate***)]" } ], "type": "reference" }, "__main__.main.contract_updates_len": { "cairo_type": "felt", "full_name": "__main__.main.contract_updates_len", "references": [ { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 222, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 224, "value": "[cast(fp + 7, felt*)]" } ], "type": "reference" }, "__main__.main.declared_classes": { "cairo_type": "__main__.DeclaredClass**", "full_name": "__main__.main.declared_classes", "references": [ { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 226, "value": "[cast(ap + (-2), __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 227, "value": "[cast(fp + 8, __main__.DeclaredClass***)]" } ], "type": "reference" }, "__main__.main.declared_classes_len": { "cairo_type": "felt", "full_name": "__main__.main.declared_classes_len", "references": [ { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 226, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 228, "value": "[cast(fp + 9, felt*)]" } ], "type": "reference" }, "__main__.main.input_config": { "cairo_type": "__main__.InputConfig", "full_name": "__main__.main.input_config", "references": [ { "ap_tracking_data": { "group": 26, "offset": 27 }, "pc": 210, "value": "[cast(ap + (-4), __main__.InputConfig*)]" }, { "ap_tracking_data": { "group": 26, "offset": 27 }, "pc": 214, "value": "[cast(fp, __main__.InputConfig*)]" } ], "type": "reference" }, "__main__.main.message_to_appchain_segment": { "cairo_type": "felt*", "full_name": "__main__.main.message_to_appchain_segment", "references": [ { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-2), felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 275, "value": "[cast(fp + 12, felt**)]" } ], "type": "reference" }, "__main__.main.message_to_appchain_segment_len": { "cairo_type": "felt", "full_name": "__main__.main.message_to_appchain_segment_len", "references": [ { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 274, "value": "[cast(fp + 11, felt*)]" } ], "type": "reference" }, "__main__.main.message_to_starknet_segment": { "cairo_type": "felt*", "full_name": "__main__.main.message_to_starknet_segment", "references": [ { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-4), felt**)]" } ], "type": "reference" }, "__main__.main.message_to_starknet_segment_len": { "cairo_type": "felt", "full_name": "__main__.main.message_to_starknet_segment_len", "references": [ { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-3), felt*)]" } ], "type": "reference" }, "__main__.main.nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "full_name": "__main__.main.nonce_updates", "references": [ { "ap_tracking_data": { "group": 26, "offset": 33 }, "pc": 216, "value": "[cast(ap + (-2), __main__.NonceUpdate***)]" } ], "type": "reference" }, "__main__.main.nonce_updates_len": { "cairo_type": "felt", "full_name": "__main__.main.nonce_updates_len", "references": [ { "ap_tracking_data": { "group": 26, "offset": 33 }, "pc": 216, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.main.output_ptr": { "cairo_type": "felt*", "full_name": "__main__.main.output_ptr", "references": [ { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-6), felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 260, "value": "cast([fp + (-6)] + 6, felt*)" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 263, "value": "cast([fp + (-6)] + 7, felt*)" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 269, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 270, "value": "cast([ap + (-1)] + 1, felt*)" }, { "ap_tracking_data": { "group": 33, "offset": 0 }, "pc": 276, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 271, "value": "cast([fp + (-6)] + 6, felt*)" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 276, "value": "cast([fp + (-6)] + 7, felt*)" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 282, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 283, "value": "cast([ap + (-1)] + 1, felt*)" }, { "ap_tracking_data": { "group": 33, "offset": 0 }, "pc": 289, "value": "[cast(ap + (-1), felt**)]" } ], "type": "reference" }, "__main__.main.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.main.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 223, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 50 }, "pc": 226, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 55 }, "pc": 229, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 233, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 28, "offset": 0 }, "pc": 237, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 29, "offset": 0 }, "pc": 241, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 245, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 259, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 58 }, "pc": 233, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 63 }, "pc": 236, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 68 }, "pc": 239, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 243, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 28, "offset": 0 }, "pc": 247, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 29, "offset": 0 }, "pc": 251, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 255, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 269, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 270, "value": "[cast(fp + 10, starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.main.range_check_ptr": { "cairo_type": "felt", "full_name": "__main__.main.range_check_ptr", "references": [ { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-4), felt*)]" } ], "type": "reference" }, "__main__.main.res": { "cairo_type": "felt", "full_name": "__main__.main.res", "references": [ { "ap_tracking_data": { "group": 26, "offset": 58 }, "pc": 233, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 63 }, "pc": 236, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 68 }, "pc": 239, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 243, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 28, "offset": 0 }, "pc": 247, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 29, "offset": 0 }, "pc": 251, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 255, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.main.storage_updates": { "cairo_type": "__main__.StorageUpdate**", "full_name": "__main__.main.storage_updates", "references": [ { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 218, "value": "[cast(ap + (-2), __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 219, "value": "[cast(fp + 4, __main__.StorageUpdate***)]" } ], "type": "reference" }, "__main__.main.storage_updates_len": { "cairo_type": "felt", "full_name": "__main__.main.storage_updates_len", "references": [ { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 218, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 220, "value": "[cast(fp + 5, felt*)]" } ], "type": "reference" }, "__main__.main.world_da": { "cairo_type": "felt*", "full_name": "__main__.main.world_da", "references": [ { "ap_tracking_data": { "group": 30, "offset": 6 }, "pc": 262, "value": "[cast(ap + (-2), felt**)]" } ], "type": "reference" }, "__main__.main.world_da_hash": { "cairo_type": "felt", "full_name": "__main__.main.world_da_hash", "references": [ { "ap_tracking_data": { "group": 30, "offset": 6 }, "pc": 262, "value": "cast(0, felt)" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 269, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.main.world_da_len": { "cairo_type": "felt", "full_name": "__main__.main.world_da_len", "references": [ { "ap_tracking_data": { "group": 30, "offset": 6 }, "pc": 262, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.output_array": { "decorators": [], "pc": 189, "type": "function" }, "__main__.output_array.Args": { "full_name": "__main__.output_array.Args", "members": { "array": { "cairo_type": "felt*", "offset": 0 }, "len": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "__main__.output_array.ImplicitArgs": { "full_name": "__main__.output_array.ImplicitArgs", "members": { "output_ptr": { "cairo_type": "felt*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.output_array.Return": { "cairo_type": "()", "type": "type_definition" }, "__main__.output_array.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.output_array.__temp0": { "cairo_type": "felt", "full_name": "__main__.output_array.__temp0", "references": [ { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 196, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.output_array.array": { "cairo_type": "felt*", "full_name": "__main__.output_array.array", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-4), felt**)]" } ], "type": "reference" }, "__main__.output_array.len": { "cairo_type": "felt", "full_name": "__main__.output_array.len", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.output_array.output_ptr": { "cairo_type": "felt*", "full_name": "__main__.output_array.output_ptr", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-5), felt**)]" }, { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 197, "value": "cast([fp + (-5)] + 1, felt*)" }, { "ap_tracking_data": { "group": 25, "offset": 0 }, "pc": 205, "value": "[cast(ap + (-1), felt**)]" } ], "type": "reference" }, "__main__.output_array.value": { "cairo_type": "felt", "full_name": "__main__.output_array.value", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 195, "value": "[cast([fp + (-4)], felt*)]" } ], "type": "reference" }, "starkware.cairo.common.cairo_builtins.BitwiseBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", "members": { "x": { "cairo_type": "felt", "offset": 0 }, "x_and_y": { "cairo_type": "felt", "offset": 2 }, "x_or_y": { "cairo_type": "felt", "offset": 4 }, "x_xor_y": { "cairo_type": "felt", "offset": 3 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 5, "type": "struct" }, "starkware.cairo.common.cairo_builtins.EcOpBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.EcOpBuiltin", "members": { "m": { "cairo_type": "felt", "offset": 4 }, "p": { "cairo_type": "starkware.cairo.common.ec_point.EcPoint", "offset": 0 }, "q": { "cairo_type": "starkware.cairo.common.ec_point.EcPoint", "offset": 2 }, "r": { "cairo_type": "starkware.cairo.common.ec_point.EcPoint", "offset": 5 } }, "size": 7, "type": "struct" }, "starkware.cairo.common.cairo_builtins.EcPoint": { "destination": "starkware.cairo.common.ec_point.EcPoint", "type": "alias" }, "starkware.cairo.common.cairo_builtins.HashBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.HashBuiltin", "members": { "result": { "cairo_type": "felt", "offset": 2 }, "x": { "cairo_type": "felt", "offset": 0 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 3, "type": "struct" }, "starkware.cairo.common.cairo_builtins.KeccakBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.KeccakBuiltin", "members": { "input": { "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "offset": 0 }, "output": { "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "offset": 8 } }, "size": 16, "type": "struct" }, "starkware.cairo.common.cairo_builtins.KeccakBuiltinState": { "destination": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "type": "alias" }, "starkware.cairo.common.cairo_builtins.PoseidonBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.PoseidonBuiltin", "members": { "input": { "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "offset": 0 }, "output": { "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "offset": 3 } }, "size": 6, "type": "struct" }, "starkware.cairo.common.cairo_builtins.PoseidonBuiltinState": { "destination": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "type": "alias" }, "starkware.cairo.common.cairo_builtins.SignatureBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.SignatureBuiltin", "members": { "message": { "cairo_type": "felt", "offset": 1 }, "pub_key": { "cairo_type": "felt", "offset": 0 } }, "size": 2, "type": "struct" }, "starkware.cairo.common.ec_point.EcPoint": { "full_name": "starkware.cairo.common.ec_point.EcPoint", "members": { "x": { "cairo_type": "felt", "offset": 0 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "starkware.cairo.common.hash.HashBuiltin": { "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", "type": "alias" }, "starkware.cairo.common.hash.hash2": { "decorators": [], "pc": 6, "type": "function" }, "starkware.cairo.common.hash.hash2.Args": { "full_name": "starkware.cairo.common.hash.hash2.Args", "members": { "x": { "cairo_type": "felt", "offset": 0 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "starkware.cairo.common.hash.hash2.ImplicitArgs": { "full_name": "starkware.cairo.common.hash.hash2.ImplicitArgs", "members": { "hash_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "starkware.cairo.common.hash.hash2.Return": { "cairo_type": "(result: felt)", "type": "type_definition" }, "starkware.cairo.common.hash.hash2.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "starkware.cairo.common.hash.hash2.hash_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "starkware.cairo.common.hash.hash2.hash_ptr", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "cast([fp + (-5)] + 3, starkware.cairo.common.cairo_builtins.HashBuiltin*)" } ], "type": "reference" }, "starkware.cairo.common.hash.hash2.result": { "cairo_type": "felt", "full_name": "starkware.cairo.common.hash.hash2.result", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "[cast([fp + (-5)] + 2, felt*)]" } ], "type": "reference" }, "starkware.cairo.common.hash.hash2.x": { "cairo_type": "felt", "full_name": "starkware.cairo.common.hash.hash2.x", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-4), felt*)]" } ], "type": "reference" }, "starkware.cairo.common.hash.hash2.y": { "cairo_type": "felt", "full_name": "starkware.cairo.common.hash.hash2.y", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "starkware.cairo.common.keccak_state.KeccakBuiltinState": { "full_name": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "members": { "s0": { "cairo_type": "felt", "offset": 0 }, "s1": { "cairo_type": "felt", "offset": 1 }, "s2": { "cairo_type": "felt", "offset": 2 }, "s3": { "cairo_type": "felt", "offset": 3 }, "s4": { "cairo_type": "felt", "offset": 4 }, "s5": { "cairo_type": "felt", "offset": 5 }, "s6": { "cairo_type": "felt", "offset": 6 }, "s7": { "cairo_type": "felt", "offset": 7 } }, "size": 8, "type": "struct" }, "starkware.cairo.common.poseidon_state.PoseidonBuiltinState": { "full_name": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "members": { "s0": { "cairo_type": "felt", "offset": 0 }, "s1": { "cairo_type": "felt", "offset": 1 }, "s2": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" } }, "main_scope": "__main__", "prime": "0x800000000000011000000000000000000000000000000000000000000000001", "reference_manager": { "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-4), felt*)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "[cast([fp + (-5)] + 2, felt*)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "cast([fp + (-5)] + 3, starkware.cairo.common.cairo_builtins.HashBuiltin*)" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp, __main__.InputConfig*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 4, felt*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 5, felt*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 6, felt*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 7, felt*)]" }, { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp, felt**)]" }, { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-4), felt**)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 31, "value": "[cast([fp + (-4)], felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 6, "offset": 0 }, "pc": 42, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp, felt**)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 2, felt**)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 3, felt*)]" }, { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp, __main__.NonceUpdate***)]" }, { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-3), __main__.NonceUpdate**)]" }, { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-4), __main__.NonceUpdate***)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 68, "value": "[cast([fp + (-4)], __main__.NonceUpdate**)]" }, { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 11, "offset": 0 }, "pc": 83, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp, __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-3), __main__.StorageUpdate**)]" }, { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-4), __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 105, "value": "[cast([fp + (-4)], __main__.StorageUpdate**)]" }, { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 15, "offset": 0 }, "pc": 120, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp, __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-3), __main__.ContractUpdate**)]" }, { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-4), __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 139, "value": "[cast([fp + (-4)], __main__.ContractUpdate**)]" }, { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 19, "offset": 0 }, "pc": 154, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp, __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-3), __main__.DeclaredClass**)]" }, { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-4), __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 173, "value": "[cast([fp + (-4)], __main__.DeclaredClass**)]" }, { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 23, "offset": 0 }, "pc": 188, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-4), felt**)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-5), felt**)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 195, "value": "[cast([fp + (-4)], felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 196, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 197, "value": "cast([fp + (-5)] + 1, felt*)" }, { "ap_tracking_data": { "group": 25, "offset": 0 }, "pc": 205, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-6), felt**)]" }, { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-4), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 0 }, "pc": 206, "value": "[cast(fp + (-3), felt**)]" }, { "ap_tracking_data": { "group": 26, "offset": 27 }, "pc": 210, "value": "[cast(ap + (-4), __main__.InputConfig*)]" }, { "ap_tracking_data": { "group": 26, "offset": 27 }, "pc": 214, "value": "[cast(fp, __main__.InputConfig*)]" }, { "ap_tracking_data": { "group": 26, "offset": 33 }, "pc": 216, "value": "[cast(ap + (-2), __main__.NonceUpdate***)]" }, { "ap_tracking_data": { "group": 26, "offset": 33 }, "pc": 216, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 218, "value": "[cast(ap + (-2), __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 218, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 219, "value": "[cast(fp + 4, __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 26, "offset": 39 }, "pc": 220, "value": "[cast(fp + 5, felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 222, "value": "[cast(ap + (-2), __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 222, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 223, "value": "[cast(fp + 6, __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 26, "offset": 45 }, "pc": 224, "value": "[cast(fp + 7, felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 226, "value": "[cast(ap + (-2), __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 226, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 227, "value": "[cast(fp + 8, __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 26, "offset": 51 }, "pc": 228, "value": "[cast(fp + 9, felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 58 }, "pc": 233, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 58 }, "pc": 233, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 63 }, "pc": 236, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 63 }, "pc": 236, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 68 }, "pc": 239, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 26, "offset": 68 }, "pc": 239, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 243, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 243, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 28, "offset": 0 }, "pc": 247, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 28, "offset": 0 }, "pc": 247, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 29, "offset": 0 }, "pc": 251, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 29, "offset": 0 }, "pc": 251, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 255, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 255, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 30, "offset": 6 }, "pc": 262, "value": "[cast(ap + (-2), felt**)]" }, { "ap_tracking_data": { "group": 30, "offset": 6 }, "pc": 262, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 30, "offset": 6 }, "pc": 262, "value": "cast(0, felt)" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 269, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 269, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 270, "value": "[cast(fp + 10, starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 271, "value": "cast([fp + (-6)] + 6, felt*)" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-4), felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-3), felt*)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-2), felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 273, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 274, "value": "[cast(fp + 11, felt*)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 275, "value": "[cast(fp + 12, felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 10 }, "pc": 276, "value": "cast([fp + (-6)] + 7, felt*)" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 282, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 283, "value": "cast([ap + (-1)] + 1, felt*)" }, { "ap_tracking_data": { "group": 33, "offset": 0 }, "pc": 289, "value": "[cast(ap + (-1), felt**)]" } ] }} \ No newline at end of file diff --git a/bin/saya/programs/cairo0merger.json b/bin/saya/programs/cairo0merger.json deleted file mode 100644 index 210139f64c..0000000000 --- a/bin/saya/programs/cairo0merger.json +++ /dev/null @@ -1 +0,0 @@ -{ "attributes": [], "builtins": ["output", "pedersen", "range_check", "bitwise"], "compiler_version": "0.13.1", "data": [ "0x40780017fff7fff", "0x4", "0x1104800180018000", "0x10e", "0x10780017fff7fff", "0x0", "0x400380007ffb7ffc", "0x400380017ffb7ffd", "0x482680017ffb8000", "0x3", "0x480280027ffb8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x8", "0x480a80047fff8000", "0x480a80057fff8000", "0x480a80067fff8000", "0x480a80077fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe5", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x4", "0x480a80007fff8000", "0x480a80017fff8000", "0x480a80027fff8000", "0x480a80037fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcd", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbc", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffab", "0x480280027ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa8", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff97", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff86", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff75", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x480a7ffc7fff8000", "0x480280007ffd8000", "0x480280017ffd8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff64", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x5", "0x480a7ffa7fff8000", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480a7ffa7fff8000", "0x480280007ffc8000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x48127ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff53", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", "0x208b7fff7fff7ffe", "0x20780017fff7ffb", "0xb", "0x482a7ffb7ffa8000", "0x400180007fff7ffc", "0x482680017ffb8000", "0x1", "0x48327fff7ffa8000", "0x400180007fff7ffd", "0x480680017fff8000", "0x0", "0x208b7fff7fff7ffe", "0x480280007ffa8000", "0x48287ffc80007fff", "0x20680017fff7fff", "0x6", "0x400380017ffa7ffd", "0x480680017fff8000", "0x1", "0x208b7fff7fff7ffe", "0x482680017ffa8000", "0x2", "0x482680017ffb8000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff", "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe8", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x2", "0x480a80007fff8000", "0x480a80017fff8000", "0x208b7fff7fff7ffe", "0x20780017fff7ffd", "0x4", "0x480a7ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x0", "0x480280007ffc8000", "0x400280007ffb7fff", "0x482680017ffb8000", "0x1", "0x482680017ffc8000", "0x1", "0x482680017ffd8000", "0x800000000000011000000000000000000000000000000000000000000000000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff3", "0x208b7fff7fff7ffe", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1e", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff42", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff62", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff85", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa5", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff33", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff19", "0x48127fd47fff8000", "0x48127fd47fff8000", "0x48127fd47fff8000", "0x48127fd47fff8000", "0x48127fd97fff8000", "0x48127fd77fff8000", "0x48127fdd7fff8000", "0x48127fdb7fff8000", "0x48127fe17fff8000", "0x48127fdf7fff8000", "0x48127fe57fff8000", "0x48127fe37fff8000", "0x48127fea7fff8000", "0x48127fea7fff8000", "0x48127fea7fff8000", "0x48127fea7fff8000", "0x48127fee7fff8000", "0x48127fee7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x25", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde", "0x40137fee7fff8000", "0x40137fef7fff8001", "0x40137ff07fff8002", "0x40137ff17fff8003", "0x40137ff27fff8004", "0x40137ff37fff8005", "0x40137ff47fff8006", "0x40137ff57fff8007", "0x40137ff67fff8008", "0x40137ff77fff8009", "0x40137ff87fff800a", "0x40137ff97fff800b", "0x40137ffa7fff800c", "0x40137ffb7fff800d", "0x40137ffc7fff800e", "0x40137ffd7fff800f", "0x40137ffe7fff8010", "0x40137fff7fff8011", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffca", "0x40137fee7fff8012", "0x40137fef7fff8013", "0x40137ff07fff8014", "0x40137ff17fff8015", "0x40137ff27fff8016", "0x40137ff37fff8017", "0x40137ff47fff8018", "0x40137ff57fff8019", "0x40137ff67fff801a", "0x40137ff77fff801b", "0x40137ff87fff801c", "0x40137ff97fff801d", "0x40137ffa7fff801e", "0x40137ffb7fff801f", "0x40137ffc7fff8020", "0x40137ffd7fff8021", "0x40137ffe7fff8022", "0x40137fff7fff8023", "0x400380007ffa8000", "0x480680017fff8000", "0x0", "0x400280017ffa7fff", "0x400380027ffa8013", "0x400380037ffa8014", "0x400380047ffa8003", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff99", "0x480a7ffb7fff8000", "0x480680017fff8000", "0x0", "0x48127ffc7fff8000", "0x48127ffc7fff8000", "0x1104800180018000", "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffed1", "0x40137ffe7fff8024", "0x400280057ffa7fff", "0x482a801f800d8000", "0x400280067ffa7fff", "0x482680017ffa8000", "0x7", "0x480a800c7fff8000", "0x480a800d7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff8d", "0x480a801e7fff8000", "0x480a801f7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff89", "0x482a8021800f8000", "0x400080007ffe7fff", "0x482480017ffe8000", "0x1", "0x480a800e7fff8000", "0x480a800f7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff81", "0x480a80207fff8000", "0x480a80217fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff7d", "0x480a80247fff8000", "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x208b7fff7fff7ffe" ], "debug_info": { "file_contents": { "": "__start__:\nap += main.Args.SIZE + main.ImplicitArgs.SIZE;\ncall main;\n\n__end__:\njmp rel 0;\n" }, "instruction_locations": { "0": { "accessible_scopes": ["__main__"], "flow_tracking_data": { "ap_tracking": { "group": 0, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 46, "end_line": 2, "input_file": { "filename": "" }, "start_col": 1, "start_line": 2 } }, "2": { "accessible_scopes": ["__main__"], "flow_tracking_data": { "ap_tracking": { "group": 0, "offset": 4 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 10, "end_line": 3, "input_file": { "filename": "" }, "start_col": 1, "start_line": 3 } }, "4": { "accessible_scopes": ["__main__"], "flow_tracking_data": { "ap_tracking": { "group": 1, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 10, "end_line": 6, "input_file": { "filename": "" }, "start_col": 1, "start_line": 6 } }, "6": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 0 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 2, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 19, "end_line": 14, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 14 } }, "7": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 0 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 2, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 19, "end_line": 15, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 15 } }, "8": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 0 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 4, "starkware.cairo.common.hash.hash2.result": 3, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 47, "end_line": 17, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 13, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "parent_location": [ { "end_col": 28, "end_line": 18, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 18 }, "While trying to retrieve the implicit argument 'hash_ptr' in:" ], "start_col": 12, "start_line": 13 }, "While expanding the reference 'hash_ptr' in:" ], "start_col": 20, "start_line": 17 } }, "10": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 1 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 4, "starkware.cairo.common.hash.hash2.result": 3, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 33, "end_line": 16, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 18, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 20, "start_line": 18 }, "While expanding the reference 'result' in:" ], "start_col": 18, "start_line": 16 } }, "11": { "accessible_scopes": [ "starkware.cairo.common.hash", "starkware.cairo.common.hash.hash2" ], "flow_tracking_data": { "ap_tracking": { "group": 2, "offset": 2 }, "reference_ids": { "starkware.cairo.common.hash.hash2.hash_ptr": 4, "starkware.cairo.common.hash.hash2.result": 3, "starkware.cairo.common.hash.hash2.x": 0, "starkware.cairo.common.hash.hash2.y": 1 } }, "hints": [], "inst": { "end_col": 28, "end_line": 18, "input_file": { "filename": "/home/mateo/code/dojo-os/.venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" }, "start_col": 5, "start_line": 18 } }, "12": { "accessible_scopes": ["__main__", "__main__.get_hashes"], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 15, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 15 } }, "14": { "accessible_scopes": ["__main__", "__main__.get_hashes"], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 8 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [ { "location": { "end_col": 7, "end_line": 26, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 21 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 26, "end_line": 17, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 29, "input_file": { "filename": "src/merger.cairo" }, "start_col": 29, "start_line": 29 }, "While expanding the reference 'prev_state_root' in:" ], "start_col": 11, "start_line": 17 } }, "15": { "accessible_scopes": ["__main__", "__main__.get_hashes"], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 9 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 23, "end_line": 18, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 38, "end_line": 30, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 30 }, "While expanding the reference 'block_number' in:" ], "start_col": 11, "start_line": 18 } }, "16": { "accessible_scopes": ["__main__", "__main__.get_hashes"], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 10 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 21, "end_line": 19, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 34, "end_line": 31, "input_file": { "filename": "src/merger.cairo" }, "start_col": 24, "start_line": 31 }, "While expanding the reference 'block_hash' in:" ], "start_col": 11, "start_line": 19 } }, "17": { "accessible_scopes": ["__main__", "__main__.get_hashes"], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 11 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 22, "end_line": 20, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 36, "end_line": 32, "input_file": { "filename": "src/merger.cairo" }, "start_col": 25, "start_line": 32 }, "While expanding the reference 'config_hash' in:" ], "start_col": 11, "start_line": 20 } }, "18": { "accessible_scopes": ["__main__", "__main__.get_hashes"], "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 12 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } }, "hints": [], "inst": { "end_col": 7, "end_line": 34, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 27 } }, "19": { "accessible_scopes": ["__main__", "__main__.get_world_da"], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 43, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 43 } }, "21": { "accessible_scopes": ["__main__", "__main__.get_world_da"], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 2 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } }, "hints": [ { "location": { "end_col": 7, "end_line": 50, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 46 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 19, "end_line": 44, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 30, "end_line": 54, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 54 }, "While expanding the reference 'world_da' in:" ], "start_col": 11, "start_line": 44 } }, "22": { "accessible_scopes": ["__main__", "__main__.get_world_da"], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 3 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } }, "hints": [], "inst": { "end_col": 23, "end_line": 45, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 38, "end_line": 55, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 55 }, "While expanding the reference 'world_da_len' in:" ], "start_col": 11, "start_line": 45 } }, "23": { "accessible_scopes": ["__main__", "__main__.get_world_da"], "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 4 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } }, "hints": [], "inst": { "end_col": 7, "end_line": 57, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 53 } }, "24": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 7, "end_line": 63, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 63 } }, "26": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 51, "end_line": 60, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 51, "end_line": 60, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 64, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 64 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 25, "start_line": 60 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 25, "start_line": 60 } }, "27": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 1 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 14, "end_line": 61, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 64, "input_file": { "filename": "src/merger.cairo" }, "start_col": 21, "start_line": 64 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 61 } }, "28": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 2 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 26, "end_line": 64, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 64 } }, "29": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 18, "end_line": 66, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 66 } }, "31": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 51, "end_line": 60, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 68, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 68 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 25, "start_line": 60 } }, "32": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 1 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 14, "end_line": 61, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 69, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 69 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 61 } }, "33": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 2 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 27, "end_line": 67, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 19, "end_line": 69, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 69 }, "While expanding the reference 'value' in:" ], "start_col": 17, "start_line": 67 } }, "34": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 3 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 15, "__main__.hash_world_da_loop.res": 12, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 6, "end_line": 70, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 68 } }, "36": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 7 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 17, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 30, "end_line": 73, "input_file": { "filename": "src/merger.cairo" }, "start_col": 18, "start_line": 73 } }, "38": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 8 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 17, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 38, "end_line": 74, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 74 } }, "40": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 5, "offset": 9 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 17, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 6, "end_line": 75, "input_file": { "filename": "src/merger.cairo" }, "start_col": 12, "start_line": 71 } }, "42": { "accessible_scopes": ["__main__", "__main__.hash_world_da_loop"], "flow_tracking_data": { "ap_tracking": { "group": 6, "offset": 0 }, "reference_ids": { "__main__.hash_world_da_loop.pedersen_ptr": 19, "__main__.hash_world_da_loop.res": 18, "__main__.hash_world_da_loop.value": 16, "__main__.hash_world_da_loop.world_da": 13, "__main__.hash_world_da_loop.world_da_len": 14 } }, "hints": [], "inst": { "end_col": 7, "end_line": 75, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 71 } }, "43": { "accessible_scopes": ["__main__", "__main__.get_messages"], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 86, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 86 } }, "45": { "accessible_scopes": ["__main__", "__main__.get_messages"], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 4 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [ { "location": { "end_col": 7, "end_line": 105, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 91 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 38, "end_line": 87, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 68, "end_line": 107, "input_file": { "filename": "src/merger.cairo" }, "start_col": 41, "start_line": 107 }, "While expanding the reference 'message_to_starknet_segment' in:" ], "start_col": 11, "start_line": 87 } }, "46": { "accessible_scopes": ["__main__", "__main__.get_messages"], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 5 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 42, "end_line": 88, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 76, "end_line": 108, "input_file": { "filename": "src/merger.cairo" }, "start_col": 45, "start_line": 108 }, "While expanding the reference 'message_to_starknet_segment_len' in:" ], "start_col": 11, "start_line": 88 } }, "47": { "accessible_scopes": ["__main__", "__main__.get_messages"], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 6 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 38, "end_line": 89, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 68, "end_line": 109, "input_file": { "filename": "src/merger.cairo" }, "start_col": 41, "start_line": 109 }, "While expanding the reference 'message_to_appchain_segment' in:" ], "start_col": 11, "start_line": 89 } }, "48": { "accessible_scopes": ["__main__", "__main__.get_messages"], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 7 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 42, "end_line": 90, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 76, "end_line": 110, "input_file": { "filename": "src/merger.cairo" }, "start_col": 45, "start_line": 110 }, "While expanding the reference 'message_to_appchain_segment_len' in:" ], "start_col": 11, "start_line": 90 } }, "49": { "accessible_scopes": ["__main__", "__main__.get_messages"], "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 8 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } }, "hints": [], "inst": { "end_col": 7, "end_line": 112, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 106 } }, "50": { "accessible_scopes": ["__main__", "__main__.get_nonce_updates"], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 121, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 121 } }, "52": { "accessible_scopes": ["__main__", "__main__.get_nonce_updates"], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 2 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } }, "hints": [ { "location": { "end_col": 7, "end_line": 136, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 124 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 24, "end_line": 122, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 40, "end_line": 137, "input_file": { "filename": "src/merger.cairo" }, "start_col": 27, "start_line": 137 }, "While expanding the reference 'nonce_updates' in:" ], "start_col": 11, "start_line": 122 } }, "53": { "accessible_scopes": ["__main__", "__main__.get_nonce_updates"], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 3 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } }, "hints": [], "inst": { "end_col": 28, "end_line": 123, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 77, "end_line": 137, "input_file": { "filename": "src/merger.cairo" }, "start_col": 60, "start_line": 137 }, "While expanding the reference 'nonce_updates_len' in:" ], "start_col": 11, "start_line": 123 } }, "54": { "accessible_scopes": ["__main__", "__main__.get_nonce_updates"], "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 4 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } }, "hints": [], "inst": { "end_col": 79, "end_line": 137, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 137 } }, "55": { "accessible_scopes": ["__main__", "__main__.hash_nonce_update"], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 50, "end_line": 140, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 144, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 144 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 24, "start_line": 140 } }, "56": { "accessible_scopes": ["__main__", "__main__.hash_nonce_update"], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 1 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 44, "end_line": 143, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 145, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 145 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 143 } }, "57": { "accessible_scopes": ["__main__", "__main__.hash_nonce_update"], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 2 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 32, "end_line": 145, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 145 } }, "58": { "accessible_scopes": ["__main__", "__main__.hash_nonce_update"], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 3 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 27, "__main__.hash_nonce_update.res": 28 } }, "hints": [], "inst": { "end_col": 6, "end_line": 146, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 144 } }, "60": { "accessible_scopes": ["__main__", "__main__.hash_nonce_update"], "flow_tracking_data": { "ap_tracking": { "group": 9, "offset": 7 }, "reference_ids": { "__main__.hash_nonce_update.nonce_update": 26, "__main__.hash_nonce_update.pedersen_ptr": 29, "__main__.hash_nonce_update.res": 30 } }, "hints": [], "inst": { "end_col": 22, "end_line": 147, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 147 } }, "61": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 7, "end_line": 153, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 153 } }, "63": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 56, "end_line": 150, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 56, "end_line": 150, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 154, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 154 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 150 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 150 } }, "64": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 1 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 14, "end_line": 151, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 154, "input_file": { "filename": "src/merger.cairo" }, "start_col": 21, "start_line": 154 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 151 } }, "65": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 2 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 26, "end_line": 154, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 154 } }, "66": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 18, "end_line": 156, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 156 } }, "68": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 56, "end_line": 150, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 61, "end_line": 158, "input_file": { "filename": "src/merger.cairo" }, "start_col": 49, "start_line": 158 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 150 } }, "69": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 1 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 39, "end_line": 157, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 75, "end_line": 158, "input_file": { "filename": "src/merger.cairo" }, "start_col": 63, "start_line": 158 }, "While expanding the reference 'nonce_update' in:" ], "start_col": 24, "start_line": 157 } }, "70": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 2 }, "reference_ids": { "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 34, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 76, "end_line": 158, "input_file": { "filename": "src/merger.cairo" }, "start_col": 18, "start_line": 158 } }, "72": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 11 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 61, "end_line": 158, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 159, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 159 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 49, "start_line": 158 } }, "73": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 12 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 14, "end_line": 151, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 160, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 160 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 151 } }, "74": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 13 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 14, "end_line": 158, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 160, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 160 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 158 } }, "75": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 14 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 36, "__main__.hash_nonce_updates_loop.res": 31 } }, "hints": [], "inst": { "end_col": 6, "end_line": 161, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 159 } }, "77": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 18 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 38, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 40, "end_line": 164, "input_file": { "filename": "src/merger.cairo" }, "start_col": 23, "start_line": 164 } }, "79": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 19 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 38, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 48, "end_line": 165, "input_file": { "filename": "src/merger.cairo" }, "start_col": 27, "start_line": 165 } }, "81": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 10, "offset": 20 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 38, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 6, "end_line": 166, "input_file": { "filename": "src/merger.cairo" }, "start_col": 12, "start_line": 162 } }, "83": { "accessible_scopes": ["__main__", "__main__.hash_nonce_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 11, "offset": 0 }, "reference_ids": { "__main__.hash_nonce_updates_loop.hash": 37, "__main__.hash_nonce_updates_loop.nonce_update": 35, "__main__.hash_nonce_updates_loop.nonce_updates": 32, "__main__.hash_nonce_updates_loop.nonce_updates_len": 33, "__main__.hash_nonce_updates_loop.pedersen_ptr": 40, "__main__.hash_nonce_updates_loop.res": 39 } }, "hints": [], "inst": { "end_col": 7, "end_line": 166, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 162 } }, "84": { "accessible_scopes": ["__main__", "__main__.get_storage_updates"], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 176, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 176 } }, "86": { "accessible_scopes": ["__main__", "__main__.get_storage_updates"], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 2 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } }, "hints": [ { "location": { "end_col": 7, "end_line": 196, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 179 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 26, "end_line": 177, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 197, "input_file": { "filename": "src/merger.cairo" }, "start_col": 29, "start_line": 197 }, "While expanding the reference 'storage_updates' in:" ], "start_col": 11, "start_line": 177 } }, "87": { "accessible_scopes": ["__main__", "__main__.get_storage_updates"], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 3 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } }, "hints": [], "inst": { "end_col": 30, "end_line": 178, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 85, "end_line": 197, "input_file": { "filename": "src/merger.cairo" }, "start_col": 66, "start_line": 197 }, "While expanding the reference 'storage_updates_len' in:" ], "start_col": 11, "start_line": 178 } }, "88": { "accessible_scopes": ["__main__", "__main__.get_storage_updates"], "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 4 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } }, "hints": [], "inst": { "end_col": 87, "end_line": 197, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 197 } }, "89": { "accessible_scopes": ["__main__", "__main__.hash_storage_update"], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 0 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 52, "end_line": 200, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 204, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 204 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 26, "start_line": 200 } }, "90": { "accessible_scopes": ["__main__", "__main__.hash_storage_update"], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 1 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 46, "end_line": 203, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 205, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 205 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 203 } }, "91": { "accessible_scopes": ["__main__", "__main__.hash_storage_update"], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 2 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 40, "end_line": 205, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 205 } }, "92": { "accessible_scopes": ["__main__", "__main__.hash_storage_update"], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 3 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 44, "__main__.hash_storage_update.res": 45, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 6, "end_line": 206, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 204 } }, "94": { "accessible_scopes": ["__main__", "__main__.hash_storage_update"], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 7 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 46, "__main__.hash_storage_update.res": 47, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 42, "end_line": 208, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 208 } }, "95": { "accessible_scopes": ["__main__", "__main__.hash_storage_update"], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 8 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 46, "__main__.hash_storage_update.res": 47, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 6, "end_line": 209, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 207 } }, "97": { "accessible_scopes": ["__main__", "__main__.hash_storage_update"], "flow_tracking_data": { "ap_tracking": { "group": 13, "offset": 12 }, "reference_ids": { "__main__.hash_storage_update.pedersen_ptr": 48, "__main__.hash_storage_update.res": 49, "__main__.hash_storage_update.storage_update": 43 } }, "hints": [], "inst": { "end_col": 22, "end_line": 210, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 210 } }, "98": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 7, "end_line": 216, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 216 } }, "100": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 58, "end_line": 213, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 58, "end_line": 213, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 217, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 217 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 32, "start_line": 213 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 32, "start_line": 213 } }, "101": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 1 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 14, "end_line": 214, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 217, "input_file": { "filename": "src/merger.cairo" }, "start_col": 21, "start_line": 217 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 214 } }, "102": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 2 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 26, "end_line": 217, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 217 } }, "103": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 18, "end_line": 219, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 219 } }, "105": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 58, "end_line": 213, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 63, "end_line": 221, "input_file": { "filename": "src/merger.cairo" }, "start_col": 51, "start_line": 221 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 32, "start_line": 213 } }, "106": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 1 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 43, "end_line": 220, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 79, "end_line": 221, "input_file": { "filename": "src/merger.cairo" }, "start_col": 65, "start_line": 221 }, "While expanding the reference 'storage_update' in:" ], "start_col": 26, "start_line": 220 } }, "107": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 2 }, "reference_ids": { "__main__.hash_storage_updates_loop.pedersen_ptr": 53, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 80, "end_line": 221, "input_file": { "filename": "src/merger.cairo" }, "start_col": 18, "start_line": 221 } }, "109": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 16 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 63, "end_line": 221, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 222, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 222 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 51, "start_line": 221 } }, "110": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 17 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 14, "end_line": 214, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 223, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 223 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 214 } }, "111": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 18 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 14, "end_line": 221, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 223, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 223 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 221 } }, "112": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 19 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 55, "__main__.hash_storage_updates_loop.res": 50, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 6, "end_line": 224, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 222 } }, "114": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 23 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 57, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 44, "end_line": 227, "input_file": { "filename": "src/merger.cairo" }, "start_col": 25, "start_line": 227 } }, "116": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 24 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 57, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 52, "end_line": 228, "input_file": { "filename": "src/merger.cairo" }, "start_col": 29, "start_line": 228 } }, "118": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 14, "offset": 25 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 57, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 6, "end_line": 229, "input_file": { "filename": "src/merger.cairo" }, "start_col": 12, "start_line": 225 } }, "120": { "accessible_scopes": ["__main__", "__main__.hash_storage_updates_loop"], "flow_tracking_data": { "ap_tracking": { "group": 15, "offset": 0 }, "reference_ids": { "__main__.hash_storage_updates_loop.hash": 56, "__main__.hash_storage_updates_loop.pedersen_ptr": 59, "__main__.hash_storage_updates_loop.res": 58, "__main__.hash_storage_updates_loop.storage_update": 54, "__main__.hash_storage_updates_loop.storage_updates": 51, "__main__.hash_storage_updates_loop.storage_updates_len": 52 } }, "hints": [], "inst": { "end_col": 7, "end_line": 229, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 225 } }, "121": { "accessible_scopes": ["__main__", "__main__.get_contract_updates"], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 239, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 239 } }, "123": { "accessible_scopes": ["__main__", "__main__.get_contract_updates"], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 2 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } }, "hints": [ { "location": { "end_col": 7, "end_line": 254, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 242 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 27, "end_line": 240, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 255, "input_file": { "filename": "src/merger.cairo" }, "start_col": 30, "start_line": 255 }, "While expanding the reference 'contract_updates' in:" ], "start_col": 11, "start_line": 240 } }, "124": { "accessible_scopes": ["__main__", "__main__.get_contract_updates"], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 3 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } }, "hints": [], "inst": { "end_col": 31, "end_line": 241, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 89, "end_line": 255, "input_file": { "filename": "src/merger.cairo" }, "start_col": 69, "start_line": 255 }, "While expanding the reference 'contract_updates_len' in:" ], "start_col": 11, "start_line": 241 } }, "125": { "accessible_scopes": ["__main__", "__main__.get_contract_updates"], "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 4 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } }, "hints": [], "inst": { "end_col": 91, "end_line": 255, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 255 } }, "126": { "accessible_scopes": ["__main__", "__main__.hash_contract_update"], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 0 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 53, "end_line": 258, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 262, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 262 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 27, "start_line": 258 } }, "127": { "accessible_scopes": ["__main__", "__main__.hash_contract_update"], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 1 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 47, "end_line": 261, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 263, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 263 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 261 } }, "128": { "accessible_scopes": ["__main__", "__main__.hash_contract_update"], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 2 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 40, "end_line": 263, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 263 } }, "129": { "accessible_scopes": ["__main__", "__main__.hash_contract_update"], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 3 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 63, "__main__.hash_contract_update.res": 64 } }, "hints": [], "inst": { "end_col": 6, "end_line": 264, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 262 } }, "131": { "accessible_scopes": ["__main__", "__main__.hash_contract_update"], "flow_tracking_data": { "ap_tracking": { "group": 17, "offset": 7 }, "reference_ids": { "__main__.hash_contract_update.contract_update": 62, "__main__.hash_contract_update.pedersen_ptr": 65, "__main__.hash_contract_update.res": 66 } }, "hints": [], "inst": { "end_col": 22, "end_line": 265, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 265 } }, "132": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 7, "end_line": 271, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 271 } }, "134": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 59, "end_line": 268, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 59, "end_line": 268, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 272, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 272 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 268 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 268 } }, "135": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 1 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 14, "end_line": 269, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 272, "input_file": { "filename": "src/merger.cairo" }, "start_col": 21, "start_line": 272 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 269 } }, "136": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 2 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 26, "end_line": 272, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 272 } }, "137": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 18, "end_line": 274, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 274 } }, "139": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 59, "end_line": 268, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 64, "end_line": 276, "input_file": { "filename": "src/merger.cairo" }, "start_col": 52, "start_line": 276 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 268 } }, "140": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 1 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 45, "end_line": 275, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 81, "end_line": 276, "input_file": { "filename": "src/merger.cairo" }, "start_col": 66, "start_line": 276 }, "While expanding the reference 'contract_update' in:" ], "start_col": 27, "start_line": 275 } }, "141": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 2 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.pedersen_ptr": 70, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 82, "end_line": 276, "input_file": { "filename": "src/merger.cairo" }, "start_col": 18, "start_line": 276 } }, "143": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 11 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 64, "end_line": 276, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 277, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 277 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 52, "start_line": 276 } }, "144": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 12 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 14, "end_line": 269, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 278, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 278 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 269 } }, "145": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 13 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 14, "end_line": 276, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 278, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 278 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 276 } }, "146": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 14 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 72, "__main__.hash_contract_updates_loop.res": 67 } }, "hints": [], "inst": { "end_col": 6, "end_line": 279, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 277 } }, "148": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 18 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 74, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 46, "end_line": 282, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 282 } }, "150": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 19 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 74, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 54, "end_line": 283, "input_file": { "filename": "src/merger.cairo" }, "start_col": 30, "start_line": 283 } }, "152": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 18, "offset": 20 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 74, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 6, "end_line": 284, "input_file": { "filename": "src/merger.cairo" }, "start_col": 12, "start_line": 280 } }, "154": { "accessible_scopes": [ "__main__", "__main__.hash_contract_updates_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 19, "offset": 0 }, "reference_ids": { "__main__.hash_contract_updates_loop.contract_update": 71, "__main__.hash_contract_updates_loop.contract_updates": 68, "__main__.hash_contract_updates_loop.contract_updates_len": 69, "__main__.hash_contract_updates_loop.hash": 73, "__main__.hash_contract_updates_loop.pedersen_ptr": 76, "__main__.hash_contract_updates_loop.res": 75 } }, "hints": [], "inst": { "end_col": 7, "end_line": 284, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 280 } }, "155": { "accessible_scopes": ["__main__", "__main__.get_declared_classes"], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 293, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 293 } }, "157": { "accessible_scopes": ["__main__", "__main__.get_declared_classes"], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 2 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } }, "hints": [ { "location": { "end_col": 7, "end_line": 308, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 296 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 27, "end_line": 294, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 309, "input_file": { "filename": "src/merger.cairo" }, "start_col": 30, "start_line": 309 }, "While expanding the reference 'declared_classes' in:" ], "start_col": 11, "start_line": 294 } }, "158": { "accessible_scopes": ["__main__", "__main__.get_declared_classes"], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 3 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } }, "hints": [], "inst": { "end_col": 31, "end_line": 295, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 89, "end_line": 309, "input_file": { "filename": "src/merger.cairo" }, "start_col": 69, "start_line": 309 }, "While expanding the reference 'declared_classes_len' in:" ], "start_col": 11, "start_line": 295 } }, "159": { "accessible_scopes": ["__main__", "__main__.get_declared_classes"], "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 4 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } }, "hints": [], "inst": { "end_col": 91, "end_line": 309, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 309 } }, "160": { "accessible_scopes": ["__main__", "__main__.hash_declared_class"], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 0 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 52, "end_line": 312, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 316, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 316 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 26, "start_line": 312 } }, "161": { "accessible_scopes": ["__main__", "__main__.hash_declared_class"], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 1 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 40, "end_line": 315, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 317, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 317 }, "While expanding the reference 'res' in:" ], "start_col": 15, "start_line": 315 } }, "162": { "accessible_scopes": ["__main__", "__main__.hash_declared_class"], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 2 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 48, "end_line": 317, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 317 } }, "163": { "accessible_scopes": ["__main__", "__main__.hash_declared_class"], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 3 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 80, "__main__.hash_declared_class.res": 81 } }, "hints": [], "inst": { "end_col": 6, "end_line": 318, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 316 } }, "165": { "accessible_scopes": ["__main__", "__main__.hash_declared_class"], "flow_tracking_data": { "ap_tracking": { "group": 21, "offset": 7 }, "reference_ids": { "__main__.hash_declared_class.declared_class": 79, "__main__.hash_declared_class.pedersen_ptr": 82, "__main__.hash_declared_class.res": 83 } }, "hints": [], "inst": { "end_col": 22, "end_line": 319, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 319 } }, "166": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 7, "end_line": 325, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 325 } }, "168": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 59, "end_line": 322, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 59, "end_line": 322, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 26, "end_line": 326, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 326 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 322 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 322 } }, "169": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 1 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 14, "end_line": 323, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 24, "end_line": 326, "input_file": { "filename": "src/merger.cairo" }, "start_col": 21, "start_line": 326 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 323 } }, "170": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 2 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 26, "end_line": 326, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 326 } }, "171": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 18, "end_line": 328, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 328 } }, "173": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 59, "end_line": 322, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 63, "end_line": 330, "input_file": { "filename": "src/merger.cairo" }, "start_col": 51, "start_line": 330 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 33, "start_line": 322 } }, "174": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 1 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 44, "end_line": 329, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 79, "end_line": 330, "input_file": { "filename": "src/merger.cairo" }, "start_col": 65, "start_line": 330 }, "While expanding the reference 'declared_class' in:" ], "start_col": 26, "start_line": 329 } }, "175": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 2 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.pedersen_ptr": 87, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 80, "end_line": 330, "input_file": { "filename": "src/merger.cairo" }, "start_col": 18, "start_line": 330 } }, "177": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 11 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 63, "end_line": 330, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 331, "input_file": { "filename": "src/merger.cairo" }, "start_col": 32, "start_line": 331 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 51, "start_line": 330 } }, "178": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 12 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 14, "end_line": 323, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 12, "end_line": 332, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 332 }, "While expanding the reference 'res' in:" ], "start_col": 5, "start_line": 323 } }, "179": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 13 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 14, "end_line": 330, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 18, "end_line": 332, "input_file": { "filename": "src/merger.cairo" }, "start_col": 14, "start_line": 332 }, "While expanding the reference 'hash' in:" ], "start_col": 10, "start_line": 330 } }, "180": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 14 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 89, "__main__.hash_declared_classes_loop.res": 84 } }, "hints": [], "inst": { "end_col": 6, "end_line": 333, "input_file": { "filename": "src/merger.cairo" }, "start_col": 17, "start_line": 331 } }, "182": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 18 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 91, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 46, "end_line": 336, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 336 } }, "184": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 19 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 91, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 54, "end_line": 337, "input_file": { "filename": "src/merger.cairo" }, "start_col": 30, "start_line": 337 } }, "186": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 22, "offset": 20 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 91, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 6, "end_line": 338, "input_file": { "filename": "src/merger.cairo" }, "start_col": 12, "start_line": 334 } }, "188": { "accessible_scopes": [ "__main__", "__main__.hash_declared_classes_loop" ], "flow_tracking_data": { "ap_tracking": { "group": 23, "offset": 0 }, "reference_ids": { "__main__.hash_declared_classes_loop.declared_class": 88, "__main__.hash_declared_classes_loop.declared_classes": 85, "__main__.hash_declared_classes_loop.declared_classes_len": 86, "__main__.hash_declared_classes_loop.hash": 90, "__main__.hash_declared_classes_loop.pedersen_ptr": 93, "__main__.hash_declared_classes_loop.res": 92 } }, "hints": [], "inst": { "end_col": 7, "end_line": 338, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 334 } }, "189": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 0 }, "reference_ids": { "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 7, "end_line": 343, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 343 } }, "191": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 0 }, "reference_ids": { "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 26, "end_line": 344, "input_file": { "filename": "src/merger.cairo" }, "start_col": 16, "start_line": 344 } }, "192": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 1 }, "reference_ids": { "__main__.replace_or_append.__temp0": 98, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 33, "end_line": 344, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 344 } }, "193": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 1 }, "reference_ids": { "__main__.replace_or_append.__temp0": 98, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 27, "end_line": 345, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 345 } }, "195": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 2 }, "reference_ids": { "__main__.replace_or_append.__temp0": 98, "__main__.replace_or_append.__temp1": 99, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 28, "end_line": 345, "input_file": { "filename": "src/merger.cairo" }, "start_col": 16, "start_line": 345 } }, "196": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 3 }, "reference_ids": { "__main__.replace_or_append.__temp0": 98, "__main__.replace_or_append.__temp1": 99, "__main__.replace_or_append.__temp2": 100, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 37, "end_line": 345, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 345 } }, "197": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 3 }, "reference_ids": { "__main__.replace_or_append.__temp0": 98, "__main__.replace_or_append.__temp1": 99, "__main__.replace_or_append.__temp2": 100, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 27, "end_line": 346, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 346 } }, "199": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 4 }, "reference_ids": { "__main__.replace_or_append.__temp0": 98, "__main__.replace_or_append.__temp1": 99, "__main__.replace_or_append.__temp2": 100, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 29, "end_line": 346, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 346 } }, "200": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 0 }, "reference_ids": { "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 17, "end_line": 349, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 349 } }, "201": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 1 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 24, "end_line": 349, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 349 } }, "202": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 2 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 7, "end_line": 349, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 349 } }, "204": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 2 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 25, "end_line": 350, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 350 } }, "205": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 2 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 27, "end_line": 351, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 351 } }, "207": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 3 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 29, "end_line": 351, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 351 } }, "208": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 2 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 39, "end_line": 354, "input_file": { "filename": "src/merger.cairo" }, "start_col": 30, "start_line": 354 } }, "210": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 3 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 48, "end_line": 354, "input_file": { "filename": "src/merger.cairo" }, "start_col": 41, "start_line": 354 } }, "212": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 4 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 58, "end_line": 342, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 53, "end_line": 354, "input_file": { "filename": "src/merger.cairo" }, "start_col": 50, "start_line": 354 }, "While expanding the reference 'key' in:" ], "start_col": 49, "start_line": 342 } }, "213": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 5 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 71, "end_line": 342, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 60, "end_line": 354, "input_file": { "filename": "src/merger.cairo" }, "start_col": 55, "start_line": 354 }, "While expanding the reference 'value' in:" ], "start_col": 60, "start_line": 342 } }, "214": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 24, "offset": 6 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 61, "end_line": 354, "input_file": { "filename": "src/merger.cairo" }, "start_col": 12, "start_line": 354 } }, "216": { "accessible_scopes": ["__main__", "__main__.replace_or_append"], "flow_tracking_data": { "ap_tracking": { "group": 25, "offset": 0 }, "reference_ids": { "__main__.replace_or_append.__temp3": 101, "__main__.replace_or_append.__temp4": 102, "__main__.replace_or_append.array": 94, "__main__.replace_or_append.key": 96, "__main__.replace_or_append.len": 95, "__main__.replace_or_append.value": 97 } }, "hints": [], "inst": { "end_col": 62, "end_line": 354, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 354 } }, "217": { "accessible_scopes": ["__main__", "__main__.get_merged_da"], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 18, "end_line": 358, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 358 } }, "219": { "accessible_scopes": ["__main__", "__main__.get_merged_da"], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 2 }, "reference_ids": { "__main__.get_merged_da.merged": 103, "__main__.get_merged_da.merged_len": 104 } }, "hints": [ { "location": { "end_col": 7, "end_line": 389, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 361 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 17, "end_line": 359, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 28, "end_line": 392, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 392 }, "While expanding the reference 'merged' in:" ], "start_col": 11, "start_line": 359 } }, "220": { "accessible_scopes": ["__main__", "__main__.get_merged_da"], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 3 }, "reference_ids": { "__main__.get_merged_da.merged": 103, "__main__.get_merged_da.merged_len": 104 } }, "hints": [], "inst": { "end_col": 21, "end_line": 360, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 36, "end_line": 393, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 393 }, "While expanding the reference 'merged_len' in:" ], "start_col": 11, "start_line": 360 } }, "221": { "accessible_scopes": ["__main__", "__main__.get_merged_da"], "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 4 }, "reference_ids": { "__main__.get_merged_da.merged": 103, "__main__.get_merged_da.merged_len": 104 } }, "hints": [], "inst": { "end_col": 7, "end_line": 395, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 391 } }, "222": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 107 } }, "hints": [], "inst": { "end_col": 7, "end_line": 399, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 399 } }, "224": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 107 } }, "hints": [], "inst": { "end_col": 36, "end_line": 398, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 36, "end_line": 398, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 19, "end_line": 400, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 400 }, "While trying to retrieve the implicit argument 'output_ptr' in:" ], "start_col": 19, "start_line": 398 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 19, "start_line": 398 } }, "225": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 1 }, "reference_ids": { "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 107 } }, "hints": [], "inst": { "end_col": 19, "end_line": 400, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 400 } }, "226": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 107 } }, "hints": [], "inst": { "end_col": 18, "end_line": 402, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 402 } }, "228": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 0 }, "reference_ids": { "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 107, "__main__.output_array.value": 108 } }, "hints": [], "inst": { "end_col": 24, "end_line": 403, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 33, "end_line": 404, "input_file": { "filename": "src/merger.cairo" }, "start_col": 28, "start_line": 404 }, "While expanding the reference 'value' in:" ], "start_col": 17, "start_line": 403 } }, "229": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 1 }, "reference_ids": { "__main__.output_array.__temp5": 109, "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 107, "__main__.output_array.value": 108 } }, "hints": [], "inst": { "end_col": 34, "end_line": 404, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 404 } }, "230": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 1 }, "reference_ids": { "__main__.output_array.__temp5": 109, "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 110, "__main__.output_array.value": 108 } }, "hints": [], "inst": { "end_col": 36, "end_line": 405, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 406, "input_file": { "filename": "src/merger.cairo" }, "start_col": 36, "start_line": 406 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 22, "start_line": 405 } }, "232": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 2 }, "reference_ids": { "__main__.output_array.__temp5": 109, "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 110, "__main__.output_array.value": 108 } }, "hints": [], "inst": { "end_col": 57, "end_line": 406, "input_file": { "filename": "src/merger.cairo" }, "start_col": 48, "start_line": 406 } }, "234": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 3 }, "reference_ids": { "__main__.output_array.__temp5": 109, "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 110, "__main__.output_array.value": 108 } }, "hints": [], "inst": { "end_col": 66, "end_line": 406, "input_file": { "filename": "src/merger.cairo" }, "start_col": 59, "start_line": 406 } }, "236": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 27, "offset": 4 }, "reference_ids": { "__main__.output_array.__temp5": 109, "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 110, "__main__.output_array.value": 108 } }, "hints": [], "inst": { "end_col": 67, "end_line": 406, "input_file": { "filename": "src/merger.cairo" }, "start_col": 12, "start_line": 406 } }, "238": { "accessible_scopes": ["__main__", "__main__.output_array"], "flow_tracking_data": { "ap_tracking": { "group": 28, "offset": 0 }, "reference_ids": { "__main__.output_array.__temp5": 109, "__main__.output_array.array": 105, "__main__.output_array.len": 106, "__main__.output_array.output_ptr": 111, "__main__.output_array.value": 108 } }, "hints": [], "inst": { "end_col": 68, "end_line": 406, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 406 } }, "239": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 0 }, "reference_ids": {} }, "hints": [], "inst": { "end_col": 21, "end_line": 426, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 426 } }, "241": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 14 }, "reference_ids": { "__main__.get_input.input_config": 112 } }, "hints": [], "inst": { "end_col": 28, "end_line": 430, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 430 } }, "243": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 20 }, "reference_ids": { "__main__.get_input.input_config": 112, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114 } }, "hints": [], "inst": { "end_col": 30, "end_line": 434, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 434 } }, "245": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 26 }, "reference_ids": { "__main__.get_input.input_config": 112, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116 } }, "hints": [], "inst": { "end_col": 31, "end_line": 438, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 438 } }, "247": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 32 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.input_config": 112, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116 } }, "hints": [], "inst": { "end_col": 31, "end_line": 442, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 442 } }, "249": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 38 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116 } }, "hints": [], "inst": { "end_col": 51, "end_line": 444, "input_file": { "filename": "src/merger.cairo" }, "start_col": 37, "start_line": 444 } }, "251": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 48 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116 } }, "hints": [], "inst": { "end_col": 50, "end_line": 445, "input_file": { "filename": "src/merger.cairo" }, "start_col": 36, "start_line": 445 } }, "253": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 54 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 34, "end_line": 425, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 38, "end_line": 448, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 448 }, "While expanding the reference 'input_config' in:" ], "start_col": 9, "start_line": 425 } }, "254": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 55 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 34, "end_line": 425, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 38, "end_line": 448, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 448 }, "While expanding the reference 'input_config' in:" ], "start_col": 9, "start_line": 425 } }, "255": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 56 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 34, "end_line": 425, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 38, "end_line": 448, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 448 }, "While expanding the reference 'input_config' in:" ], "start_col": 9, "start_line": 425 } }, "256": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 57 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 34, "end_line": 425, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 38, "end_line": 448, "input_file": { "filename": "src/merger.cairo" }, "start_col": 26, "start_line": 448 }, "While expanding the reference 'input_config' in:" ], "start_col": 9, "start_line": 425 } }, "257": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 58 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 32, "end_line": 429, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 48, "end_line": 449, "input_file": { "filename": "src/merger.cairo" }, "start_col": 31, "start_line": 449 }, "While expanding the reference 'nonce_updates_len' in:" ], "start_col": 9, "start_line": 429 } }, "258": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 59 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 37, "end_line": 428, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 40, "end_line": 450, "input_file": { "filename": "src/merger.cairo" }, "start_col": 27, "start_line": 450 }, "While expanding the reference 'nonce_updates' in:" ], "start_col": 9, "start_line": 428 } }, "259": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 60 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 34, "end_line": 433, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 52, "end_line": 451, "input_file": { "filename": "src/merger.cairo" }, "start_col": 33, "start_line": 451 }, "While expanding the reference 'storage_updates_len' in:" ], "start_col": 9, "start_line": 433 } }, "260": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 61 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 41, "end_line": 432, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 44, "end_line": 452, "input_file": { "filename": "src/merger.cairo" }, "start_col": 29, "start_line": 452 }, "While expanding the reference 'storage_updates' in:" ], "start_col": 9, "start_line": 432 } }, "261": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 62 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 35, "end_line": 437, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 54, "end_line": 453, "input_file": { "filename": "src/merger.cairo" }, "start_col": 34, "start_line": 453 }, "While expanding the reference 'contract_updates_len' in:" ], "start_col": 9, "start_line": 437 } }, "262": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 63 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 43, "end_line": 436, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 454, "input_file": { "filename": "src/merger.cairo" }, "start_col": 30, "start_line": 454 }, "While expanding the reference 'contract_updates' in:" ], "start_col": 9, "start_line": 436 } }, "263": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 64 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 35, "end_line": 441, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 54, "end_line": 455, "input_file": { "filename": "src/merger.cairo" }, "start_col": 34, "start_line": 455 }, "While expanding the reference 'declared_classes_len' in:" ], "start_col": 9, "start_line": 441 } }, "264": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 65 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 42, "end_line": 440, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 46, "end_line": 456, "input_file": { "filename": "src/merger.cairo" }, "start_col": 30, "start_line": 456 }, "While expanding the reference 'declared_classes' in:" ], "start_col": 9, "start_line": 440 } }, "265": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 66 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 33, "end_line": 444, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 30, "end_line": 457, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 457 }, "While expanding the reference 'messages' in:" ], "start_col": 10, "start_line": 444 } }, "266": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 67 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 33, "end_line": 444, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 30, "end_line": 457, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 457 }, "While expanding the reference 'messages' in:" ], "start_col": 10, "start_line": 444 } }, "267": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 68 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 33, "end_line": 444, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 30, "end_line": 457, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 457 }, "While expanding the reference 'messages' in:" ], "start_col": 10, "start_line": 444 } }, "268": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 69 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 33, "end_line": 444, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 30, "end_line": 457, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 457 }, "While expanding the reference 'messages' in:" ], "start_col": 10, "start_line": 444 } }, "269": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 70 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 32, "end_line": 445, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 30, "end_line": 458, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 458 }, "While expanding the reference 'world_da' in:" ], "start_col": 10, "start_line": 445 } }, "270": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 71 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 32, "end_line": 445, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 30, "end_line": 458, "input_file": { "filename": "src/merger.cairo" }, "start_col": 22, "start_line": 458 }, "While expanding the reference 'world_da' in:" ], "start_col": 10, "start_line": 445 } }, "271": { "accessible_scopes": ["__main__", "__main__.get_input"], "flow_tracking_data": { "ap_tracking": { "group": 29, "offset": 72 }, "reference_ids": { "__main__.get_input.contract_updates": 117, "__main__.get_input.contract_updates_len": 118, "__main__.get_input.declared_classes": 119, "__main__.get_input.declared_classes_len": 120, "__main__.get_input.input_config": 112, "__main__.get_input.messages": 121, "__main__.get_input.nonce_updates": 113, "__main__.get_input.nonce_updates_len": 114, "__main__.get_input.storage_updates": 115, "__main__.get_input.storage_updates_len": 116, "__main__.get_input.world_da": 122 } }, "hints": [], "inst": { "end_col": 7, "end_line": 460, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 447 } }, "272": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 0 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 18, "end_line": 464, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 464 } }, "274": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 37 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [ { "location": { "end_col": 7, "end_line": 469, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 467 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 46, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 35, "start_line": 470 } }, "276": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "277": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "278": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "279": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "280": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "281": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "282": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "283": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "284": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "285": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "286": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "287": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "288": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "289": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "290": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "291": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "292": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "293": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 127, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 470, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 470 }, "While auto generating local variable for 'input_1'." ], "start_col": 10, "start_line": 470 } }, "294": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [ { "location": { "end_col": 7, "end_line": 474, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 472 }, "n_prefix_newlines": 1 } ], "inst": { "end_col": 46, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 35, "start_line": 475 } }, "296": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "297": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "298": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "299": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "300": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "301": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "302": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "303": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "304": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "305": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "306": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "307": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "308": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "309": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "310": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "311": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "312": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "313": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 129, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 31, "end_line": 475, "input_file": { "filename": "src/merger.cairo" }, "start_col": 10, "start_line": 475 }, "While auto generating local variable for 'input_2'." ], "start_col": 10, "start_line": 475 } }, "314": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 65, "end_line": 478, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 478 } }, "315": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 185 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 29, "end_line": 479, "input_file": { "filename": "src/merger.cairo" }, "start_col": 28, "start_line": 479 } }, "317": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 186 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 30, "end_line": 479, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 479 } }, "318": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 186 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 62, "end_line": 480, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 480 } }, "319": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 186 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 60, "end_line": 481, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 481 } }, "320": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 186 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 61, "end_line": 482, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 482 } }, "321": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 186 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } }, "hints": [], "inst": { "end_col": 58, "end_line": 486, "input_file": { "filename": "src/merger.cairo" }, "start_col": 43, "start_line": 486 } }, "323": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 192 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 133 } }, "hints": [], "inst": { "end_col": 56, "end_line": 463, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 71, "end_line": 488, "input_file": { "filename": "src/merger.cairo" }, "start_col": 59, "start_line": 488 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 463 } }, "324": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 193 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 133 } }, "hints": [], "inst": { "end_col": 26, "end_line": 487, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 22, "end_line": 489, "input_file": { "filename": "src/merger.cairo" }, "start_col": 9, "start_line": 489 }, "While expanding the reference 'world_da_hash' in:" ], "start_col": 25, "start_line": 487 } }, "326": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 194 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 133 } }, "hints": [], "inst": { "end_col": 48, "end_line": 489, "input_file": { "filename": "src/merger.cairo" }, "start_col": 24, "start_line": 489 } }, "327": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 195 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 133 } }, "hints": [], "inst": { "end_col": 78, "end_line": 489, "input_file": { "filename": "src/merger.cairo" }, "start_col": 50, "start_line": 489 } }, "328": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 196 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 133 } }, "hints": [], "inst": { "end_col": 6, "end_line": 490, "input_file": { "filename": "src/merger.cairo" }, "start_col": 27, "start_line": 488 } }, "330": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 0 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 134, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 71, "end_line": 488, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 71, "end_line": 488, "input_file": { "filename": "src/merger.cairo" }, "start_col": 59, "start_line": 488 }, "While auto generating local variable for 'pedersen_ptr'." ], "start_col": 59, "start_line": 488 } }, "331": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 0 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 42, "end_line": 491, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 491 } }, "332": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 0 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 137, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 127, "end_line": 496, "input_file": { "filename": "src/merger.cairo" }, "start_col": 28, "start_line": 496 } }, "333": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 1 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 137, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 128, "end_line": 496, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 496 } }, "334": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 1 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 139, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 36, "end_line": 497, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 39, "end_line": 498, "input_file": { "filename": "src/merger.cairo" }, "start_col": 29, "start_line": 498 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 22, "start_line": 497 } }, "336": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 2 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 139, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 85, "end_line": 498, "input_file": { "filename": "src/merger.cairo" }, "start_col": 41, "start_line": 498 } }, "337": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 3 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 139, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 135, "end_line": 498, "input_file": { "filename": "src/merger.cairo" }, "start_col": 87, "start_line": 498 } }, "338": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 31, "offset": 4 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 139, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 136, "end_line": 498, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 498 } }, "340": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 0 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 140, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 85, "end_line": 499, "input_file": { "filename": "src/merger.cairo" }, "start_col": 41, "start_line": 499 } }, "341": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 1 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 140, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 135, "end_line": 499, "input_file": { "filename": "src/merger.cairo" }, "start_col": 87, "start_line": 499 } }, "342": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 32, "offset": 2 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 140, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 136, "end_line": 499, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 499 } }, "344": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 0 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 141, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 127, "end_line": 501, "input_file": { "filename": "src/merger.cairo" }, "start_col": 28, "start_line": 501 } }, "345": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 1 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 141, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 128, "end_line": 501, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 501 } }, "346": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 1 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 143, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 36, "end_line": 502, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 39, "end_line": 503, "input_file": { "filename": "src/merger.cairo" }, "start_col": 29, "start_line": 503 }, "While expanding the reference 'output_ptr' in:" ], "start_col": 22, "start_line": 502 } }, "348": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 2 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 143, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 85, "end_line": 503, "input_file": { "filename": "src/merger.cairo" }, "start_col": 41, "start_line": 503 } }, "349": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 3 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 143, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 135, "end_line": 503, "input_file": { "filename": "src/merger.cairo" }, "start_col": 87, "start_line": 503 } }, "350": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 33, "offset": 4 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 143, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 136, "end_line": 503, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 503 } }, "352": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 34, "offset": 0 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 144, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 85, "end_line": 504, "input_file": { "filename": "src/merger.cairo" }, "start_col": 41, "start_line": 504 } }, "353": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 34, "offset": 1 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 144, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 135, "end_line": 504, "input_file": { "filename": "src/merger.cairo" }, "start_col": 87, "start_line": 504 } }, "354": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 34, "offset": 2 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 144, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 136, "end_line": 504, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 504 } }, "356": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 35, "offset": 0 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 145, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 71, "end_line": 488, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 71, "end_line": 488, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 56, "end_line": 463, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 15, "end_line": 508, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 508 }, "While trying to retrieve the implicit argument 'pedersen_ptr' in:" ], "start_col": 30, "start_line": 463 }, "While expanding the reference 'pedersen_ptr' in:" ], "start_col": 59, "start_line": 488 }, "While auto generating local variable for 'pedersen_ptr'." ], "start_col": 59, "start_line": 488 } }, "357": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 35, "offset": 1 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 145, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 79, "end_line": 463, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 79, "end_line": 463, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 15, "end_line": 508, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 508 }, "While trying to retrieve the implicit argument 'range_check_ptr' in:" ], "start_col": 58, "start_line": 463 }, "While expanding the reference 'range_check_ptr' in:" ], "start_col": 58, "start_line": 463 } }, "358": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 35, "offset": 2 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 145, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 99, "end_line": 463, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 99, "end_line": 463, "input_file": { "filename": "src/merger.cairo" }, "parent_location": [ { "end_col": 15, "end_line": 508, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 508 }, "While trying to retrieve the implicit argument 'bitwise_ptr' in:" ], "start_col": 81, "start_line": 463 }, "While expanding the reference 'bitwise_ptr' in:" ], "start_col": 81, "start_line": 463 } }, "359": { "accessible_scopes": ["__main__", "__main__.main"], "flow_tracking_data": { "ap_tracking": { "group": 35, "offset": 3 }, "reference_ids": { "__main__.main.__temp6": 131, "__main__.main.__temp7": 138, "__main__.main.__temp8": 142, "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.input_2": 130, "__main__.main.merged_world_da": 132, "__main__.main.output_ptr": 145, "__main__.main.pedersen_ptr": 136, "__main__.main.range_check_ptr": 125, "__main__.main.world_da_hash": 135 } }, "hints": [], "inst": { "end_col": 15, "end_line": 508, "input_file": { "filename": "src/merger.cairo" }, "start_col": 5, "start_line": 508 } } } }, "hints": { "14": [ { "accessible_scopes": ["__main__", "__main__.get_hashes"], "code": "ids.prev_state_root = int(prepared_program_input[\"prev_state_root\"])\nids.block_number = int(prepared_program_input[\"block_number\"])\nids.block_hash = int(prepared_program_input[\"block_hash\"])\nids.config_hash = int(prepared_program_input[\"config_hash\"])", "flow_tracking_data": { "ap_tracking": { "group": 3, "offset": 8 }, "reference_ids": { "__main__.get_hashes.block_hash": 8, "__main__.get_hashes.block_number": 7, "__main__.get_hashes.config_hash": 9, "__main__.get_hashes.input_config": 5, "__main__.get_hashes.prev_state_root": 6 } } } ], "21": [ { "accessible_scopes": ["__main__", "__main__.get_world_da"], "code": "world_da = [int(wd) for wd in prepared_program_input[\"world_da\"]]\nids.world_da = segments.gen_arg(world_da)\nids.world_da_len = len(world_da)", "flow_tracking_data": { "ap_tracking": { "group": 4, "offset": 2 }, "reference_ids": { "__main__.get_world_da.world_da": 10, "__main__.get_world_da.world_da_len": 11 } } } ], "45": [ { "accessible_scopes": ["__main__", "__main__.get_messages"], "code": "message_to_starknet_segment = \\\n [int(x) for x in prepared_program_input[\"message_to_starknet_segment\"]]\nmessage_to_appchain_segment = \\\n [int(x) for x in prepared_program_input[\"message_to_appchain_segment\"]]\n\nids.message_to_starknet_segment = \\\n segments.gen_arg(message_to_starknet_segment)\nids.message_to_starknet_segment_len = \\\n len(message_to_starknet_segment)\nids.message_to_appchain_segment = \\\n segments.gen_arg(message_to_appchain_segment)\nids.message_to_appchain_segment_len = \\\n len(message_to_appchain_segment)", "flow_tracking_data": { "ap_tracking": { "group": 7, "offset": 4 }, "reference_ids": { "__main__.get_messages.message_to_appchain_segment": 22, "__main__.get_messages.message_to_appchain_segment_len": 23, "__main__.get_messages.message_to_starknet_segment": 20, "__main__.get_messages.message_to_starknet_segment_len": 21 } } } ], "52": [ { "accessible_scopes": ["__main__", "__main__.get_nonce_updates"], "code": "program_input_nonce_updates = prepared_program_input[\"nonce_updates\"]\n\nnonce_updates = [\n (\n int(key),\n int(value),\n )\n for key, value in program_input_nonce_updates.items()\n]\nids.nonce_updates = segments.gen_arg(nonce_updates)\nids.nonce_updates_len = len(nonce_updates)", "flow_tracking_data": { "ap_tracking": { "group": 8, "offset": 2 }, "reference_ids": { "__main__.get_nonce_updates.nonce_updates": 24, "__main__.get_nonce_updates.nonce_updates_len": 25 } } } ], "86": [ { "accessible_scopes": ["__main__", "__main__.get_storage_updates"], "code": "program_input_storage_updates = prepared_program_input[\"storage_updates\"]\n\nstorage_updates = [\n (\n int(contract),\n int(key),\n int(value),\n )\n for \n contract, update in \n program_input_storage_updates.items() \n for \n key, value in update.items()\n]\nids.storage_updates = segments.gen_arg(storage_updates)\nids.storage_updates_len = len(storage_updates)", "flow_tracking_data": { "ap_tracking": { "group": 12, "offset": 2 }, "reference_ids": { "__main__.get_storage_updates.storage_updates": 41, "__main__.get_storage_updates.storage_updates_len": 42 } } } ], "123": [ { "accessible_scopes": ["__main__", "__main__.get_contract_updates"], "code": "program_input_contract_updates = prepared_program_input[\"contract_updates\"]\n\ncontract_updates = [\n (\n int(key),\n int(value),\n )\n for key, value in program_input_contract_updates.items()\n]\nids.contract_updates = segments.gen_arg(contract_updates)\nids.contract_updates_len = len(contract_updates)", "flow_tracking_data": { "ap_tracking": { "group": 16, "offset": 2 }, "reference_ids": { "__main__.get_contract_updates.contract_updates": 60, "__main__.get_contract_updates.contract_updates_len": 61 } } } ], "157": [ { "accessible_scopes": ["__main__", "__main__.get_declared_classes"], "code": "program_input_declared_classes = prepared_program_input[\"declared_classes\"]\n\ndeclared_classes = [\n (\n int(key),\n int(value),\n )\n for key, value in program_input_declared_classes.items()\n]\nids.declared_classes = segments.gen_arg(declared_classes)\nids.declared_classes_len = len(declared_classes)", "flow_tracking_data": { "ap_tracking": { "group": 20, "offset": 2 }, "reference_ids": { "__main__.get_declared_classes.declared_classes": 77, "__main__.get_declared_classes.declared_classes_len": 78 } } } ], "219": [ { "accessible_scopes": ["__main__", "__main__.get_merged_da"], "code": "# Load da.\nda = program_input[\"earlier\"][\"world_da\"]\nupdates = program_input[\"later\"][\"world_da\"]\nids.merged = merged = segments.add()\n\n# Find value after updates.\nafter = {}\nfor i in range(0, len(da), 2):\n after[da[i]] = da[i + 1]\nfor i in range(0, len(updates), 2):\n after[updates[i]] = updates[i + 1]\n\n# Update the da array.\nincluded = {}\nfor i in range(0, len(da), 2):\n da[i+1] = after[da[i]]\n included[da[i]] = True\n\nfor i in range(0, len(updates), 2):\n if updates[i] not in included:\n da.append(updates[i])\n da.append(updates[i + 1])\n\n# Pass da to cairo.\nids.merged_len = len(da)\nfor i in range(0, len(da)):\n memory[merged + i] = int(da[i])", "flow_tracking_data": { "ap_tracking": { "group": 26, "offset": 2 }, "reference_ids": { "__main__.get_merged_da.merged": 103, "__main__.get_merged_da.merged_len": 104 } } } ], "274": [ { "accessible_scopes": ["__main__", "__main__.main"], "code": "prepared_program_input = program_input[\"earlier\"]", "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 37 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } } } ], "294": [ { "accessible_scopes": ["__main__", "__main__.main"], "code": "prepared_program_input = program_input[\"later\"]", "flow_tracking_data": { "ap_tracking": { "group": 30, "offset": 111 }, "reference_ids": { "__main__.main.bitwise_ptr": 126, "__main__.main.input_1": 128, "__main__.main.output_ptr": 123, "__main__.main.pedersen_ptr": 124, "__main__.main.range_check_ptr": 125 } } } ] }, "identifiers": { "__main__.ContractUpdate": { "full_name": "__main__.ContractUpdate", "members": { "class_hash": { "cairo_type": "felt", "offset": 1 }, "contract_address": { "cairo_type": "felt", "offset": 0 } }, "size": 2, "type": "struct" }, "__main__.DeclaredClass": { "full_name": "__main__.DeclaredClass", "members": { "class_hash": { "cairo_type": "felt", "offset": 0 }, "compiled_class_hash": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "__main__.HashBuiltin": { "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", "type": "alias" }, "__main__.InputConfig": { "full_name": "__main__.InputConfig", "members": { "block_hash": { "cairo_type": "felt", "offset": 2 }, "block_number": { "cairo_type": "felt", "offset": 1 }, "config_hash": { "cairo_type": "felt", "offset": 3 }, "prev_state_root": { "cairo_type": "felt", "offset": 0 } }, "size": 4, "type": "struct" }, "__main__.MassagesInput": { "full_name": "__main__.MassagesInput", "members": { "message_to_appchain_segment": { "cairo_type": "felt*", "offset": 2 }, "message_to_appchain_segment_len": { "cairo_type": "felt", "offset": 3 }, "message_to_starknet_segment": { "cairo_type": "felt*", "offset": 0 }, "message_to_starknet_segment_len": { "cairo_type": "felt", "offset": 1 } }, "size": 4, "type": "struct" }, "__main__.NonceUpdate": { "full_name": "__main__.NonceUpdate", "members": { "contract_address": { "cairo_type": "felt", "offset": 0 }, "nonce": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "__main__.ProgramInput": { "full_name": "__main__.ProgramInput", "members": { "contract_updates": { "cairo_type": "__main__.ContractUpdate**", "offset": 9 }, "contract_updates_len": { "cairo_type": "felt", "offset": 8 }, "declared_classes": { "cairo_type": "__main__.DeclaredClass**", "offset": 11 }, "declared_classes_len": { "cairo_type": "felt", "offset": 10 }, "input_config": { "cairo_type": "__main__.InputConfig", "offset": 0 }, "messages": { "cairo_type": "__main__.MassagesInput", "offset": 12 }, "nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "offset": 5 }, "nonce_updates_len": { "cairo_type": "felt", "offset": 4 }, "storage_updates": { "cairo_type": "__main__.StorageUpdate**", "offset": 7 }, "storage_updates_len": { "cairo_type": "felt", "offset": 6 }, "world_da": { "cairo_type": "__main__.WorldDaInput", "offset": 16 } }, "size": 18, "type": "struct" }, "__main__.StorageUpdate": { "full_name": "__main__.StorageUpdate", "members": { "contract_address": { "cairo_type": "felt", "offset": 0 }, "storage_key": { "cairo_type": "felt", "offset": 1 }, "storage_value": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" }, "__main__.WorldDaInput": { "full_name": "__main__.WorldDaInput", "members": { "world_da": { "cairo_type": "felt*", "offset": 0 }, "world_da_len": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "__main__.__end__": { "pc": 4, "type": "label" }, "__main__.__start__": { "pc": 0, "type": "label" }, "__main__.get_contract_updates": { "decorators": [], "pc": 121, "type": "function" }, "__main__.get_contract_updates.Args": { "full_name": "__main__.get_contract_updates.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_contract_updates.ImplicitArgs": { "full_name": "__main__.get_contract_updates.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_contract_updates.Return": { "cairo_type": "(contract_updates: __main__.ContractUpdate**, contract_updates_len: felt)", "type": "type_definition" }, "__main__.get_contract_updates.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_contract_updates.contract_updates": { "cairo_type": "__main__.ContractUpdate**", "full_name": "__main__.get_contract_updates.contract_updates", "references": [ { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp, __main__.ContractUpdate***)]" } ], "type": "reference" }, "__main__.get_contract_updates.contract_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_contract_updates.contract_updates_len", "references": [ { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_declared_classes": { "decorators": [], "pc": 155, "type": "function" }, "__main__.get_declared_classes.Args": { "full_name": "__main__.get_declared_classes.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_declared_classes.ImplicitArgs": { "full_name": "__main__.get_declared_classes.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_declared_classes.Return": { "cairo_type": "(declared_classes: __main__.DeclaredClass**, declared_classes_len: felt)", "type": "type_definition" }, "__main__.get_declared_classes.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_declared_classes.declared_classes": { "cairo_type": "__main__.DeclaredClass**", "full_name": "__main__.get_declared_classes.declared_classes", "references": [ { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp, __main__.DeclaredClass***)]" } ], "type": "reference" }, "__main__.get_declared_classes.declared_classes_len": { "cairo_type": "felt", "full_name": "__main__.get_declared_classes.declared_classes_len", "references": [ { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_hashes": { "decorators": [], "pc": 12, "type": "function" }, "__main__.get_hashes.Args": { "full_name": "__main__.get_hashes.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_hashes.ImplicitArgs": { "full_name": "__main__.get_hashes.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_hashes.Return": { "cairo_type": "(input_config: __main__.InputConfig)", "type": "type_definition" }, "__main__.get_hashes.SIZEOF_LOCALS": { "type": "const", "value": 8 }, "__main__.get_hashes.block_hash": { "cairo_type": "felt", "full_name": "__main__.get_hashes.block_hash", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 6, felt*)]" } ], "type": "reference" }, "__main__.get_hashes.block_number": { "cairo_type": "felt", "full_name": "__main__.get_hashes.block_number", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 5, felt*)]" } ], "type": "reference" }, "__main__.get_hashes.config_hash": { "cairo_type": "felt", "full_name": "__main__.get_hashes.config_hash", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 7, felt*)]" } ], "type": "reference" }, "__main__.get_hashes.input_config": { "cairo_type": "__main__.InputConfig", "full_name": "__main__.get_hashes.input_config", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp, __main__.InputConfig*)]" } ], "type": "reference" }, "__main__.get_hashes.prev_state_root": { "cairo_type": "felt", "full_name": "__main__.get_hashes.prev_state_root", "references": [ { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 4, felt*)]" } ], "type": "reference" }, "__main__.get_input": { "decorators": [], "pc": 239, "type": "function" }, "__main__.get_input.Args": { "full_name": "__main__.get_input.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_input.ImplicitArgs": { "full_name": "__main__.get_input.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_input.Return": { "cairo_type": "(res: __main__.ProgramInput)", "type": "type_definition" }, "__main__.get_input.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.get_input.contract_updates": { "cairo_type": "__main__.ContractUpdate**", "full_name": "__main__.get_input.contract_updates", "references": [ { "ap_tracking_data": { "group": 29, "offset": 32 }, "pc": 247, "value": "[cast(ap + (-2), __main__.ContractUpdate***)]" } ], "type": "reference" }, "__main__.get_input.contract_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_input.contract_updates_len", "references": [ { "ap_tracking_data": { "group": 29, "offset": 32 }, "pc": 247, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.get_input.declared_classes": { "cairo_type": "__main__.DeclaredClass**", "full_name": "__main__.get_input.declared_classes", "references": [ { "ap_tracking_data": { "group": 29, "offset": 38 }, "pc": 249, "value": "[cast(ap + (-2), __main__.DeclaredClass***)]" } ], "type": "reference" }, "__main__.get_input.declared_classes_len": { "cairo_type": "felt", "full_name": "__main__.get_input.declared_classes_len", "references": [ { "ap_tracking_data": { "group": 29, "offset": 38 }, "pc": 249, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.get_input.input_config": { "cairo_type": "__main__.InputConfig", "full_name": "__main__.get_input.input_config", "references": [ { "ap_tracking_data": { "group": 29, "offset": 14 }, "pc": 241, "value": "[cast(ap + (-4), __main__.InputConfig*)]" } ], "type": "reference" }, "__main__.get_input.messages": { "cairo_type": "__main__.MassagesInput", "full_name": "__main__.get_input.messages", "references": [ { "ap_tracking_data": { "group": 29, "offset": 48 }, "pc": 251, "value": "[cast(ap + (-4), __main__.MassagesInput*)]" } ], "type": "reference" }, "__main__.get_input.nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "full_name": "__main__.get_input.nonce_updates", "references": [ { "ap_tracking_data": { "group": 29, "offset": 20 }, "pc": 243, "value": "[cast(ap + (-2), __main__.NonceUpdate***)]" } ], "type": "reference" }, "__main__.get_input.nonce_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_input.nonce_updates_len", "references": [ { "ap_tracking_data": { "group": 29, "offset": 20 }, "pc": 243, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.get_input.storage_updates": { "cairo_type": "__main__.StorageUpdate**", "full_name": "__main__.get_input.storage_updates", "references": [ { "ap_tracking_data": { "group": 29, "offset": 26 }, "pc": 245, "value": "[cast(ap + (-2), __main__.StorageUpdate***)]" } ], "type": "reference" }, "__main__.get_input.storage_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_input.storage_updates_len", "references": [ { "ap_tracking_data": { "group": 29, "offset": 26 }, "pc": 245, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.get_input.world_da": { "cairo_type": "__main__.WorldDaInput", "full_name": "__main__.get_input.world_da", "references": [ { "ap_tracking_data": { "group": 29, "offset": 54 }, "pc": 253, "value": "[cast(ap + (-2), __main__.WorldDaInput*)]" } ], "type": "reference" }, "__main__.get_merged_da": { "decorators": [], "pc": 217, "type": "function" }, "__main__.get_merged_da.Args": { "full_name": "__main__.get_merged_da.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_merged_da.ImplicitArgs": { "full_name": "__main__.get_merged_da.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_merged_da.Return": { "cairo_type": "(res: __main__.WorldDaInput)", "type": "type_definition" }, "__main__.get_merged_da.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_merged_da.merged": { "cairo_type": "felt*", "full_name": "__main__.get_merged_da.merged", "references": [ { "ap_tracking_data": { "group": 26, "offset": 2 }, "pc": 219, "value": "[cast(fp, felt**)]" } ], "type": "reference" }, "__main__.get_merged_da.merged_len": { "cairo_type": "felt", "full_name": "__main__.get_merged_da.merged_len", "references": [ { "ap_tracking_data": { "group": 26, "offset": 2 }, "pc": 219, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_messages": { "decorators": [], "pc": 43, "type": "function" }, "__main__.get_messages.Args": { "full_name": "__main__.get_messages.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_messages.ImplicitArgs": { "full_name": "__main__.get_messages.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_messages.Return": { "cairo_type": "(__main__.MassagesInput,)", "type": "type_definition" }, "__main__.get_messages.SIZEOF_LOCALS": { "type": "const", "value": 4 }, "__main__.get_messages.message_to_appchain_segment": { "cairo_type": "felt*", "full_name": "__main__.get_messages.message_to_appchain_segment", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 2, felt**)]" } ], "type": "reference" }, "__main__.get_messages.message_to_appchain_segment_len": { "cairo_type": "felt", "full_name": "__main__.get_messages.message_to_appchain_segment_len", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 3, felt*)]" } ], "type": "reference" }, "__main__.get_messages.message_to_starknet_segment": { "cairo_type": "felt*", "full_name": "__main__.get_messages.message_to_starknet_segment", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp, felt**)]" } ], "type": "reference" }, "__main__.get_messages.message_to_starknet_segment_len": { "cairo_type": "felt", "full_name": "__main__.get_messages.message_to_starknet_segment_len", "references": [ { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_nonce_updates": { "decorators": [], "pc": 50, "type": "function" }, "__main__.get_nonce_updates.Args": { "full_name": "__main__.get_nonce_updates.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_nonce_updates.ImplicitArgs": { "full_name": "__main__.get_nonce_updates.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_nonce_updates.Return": { "cairo_type": "(nonce_updates: __main__.NonceUpdate**, nonce_updates_len: felt)", "type": "type_definition" }, "__main__.get_nonce_updates.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_nonce_updates.nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "full_name": "__main__.get_nonce_updates.nonce_updates", "references": [ { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp, __main__.NonceUpdate***)]" } ], "type": "reference" }, "__main__.get_nonce_updates.nonce_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_nonce_updates.nonce_updates_len", "references": [ { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_storage_updates": { "decorators": [], "pc": 84, "type": "function" }, "__main__.get_storage_updates.Args": { "full_name": "__main__.get_storage_updates.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_storage_updates.ImplicitArgs": { "full_name": "__main__.get_storage_updates.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_storage_updates.Return": { "cairo_type": "(storage_updates: __main__.StorageUpdate**, storage_updates_len: felt)", "type": "type_definition" }, "__main__.get_storage_updates.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_storage_updates.storage_updates": { "cairo_type": "__main__.StorageUpdate**", "full_name": "__main__.get_storage_updates.storage_updates", "references": [ { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp, __main__.StorageUpdate***)]" } ], "type": "reference" }, "__main__.get_storage_updates.storage_updates_len": { "cairo_type": "felt", "full_name": "__main__.get_storage_updates.storage_updates_len", "references": [ { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.get_world_da": { "decorators": [], "pc": 19, "type": "function" }, "__main__.get_world_da.Args": { "full_name": "__main__.get_world_da.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.get_world_da.ImplicitArgs": { "full_name": "__main__.get_world_da.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.get_world_da.Return": { "cairo_type": "(res: __main__.WorldDaInput)", "type": "type_definition" }, "__main__.get_world_da.SIZEOF_LOCALS": { "type": "const", "value": 2 }, "__main__.get_world_da.world_da": { "cairo_type": "felt*", "full_name": "__main__.get_world_da.world_da", "references": [ { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp, felt**)]" } ], "type": "reference" }, "__main__.get_world_da.world_da_len": { "cairo_type": "felt", "full_name": "__main__.get_world_da.world_da_len", "references": [ { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp + 1, felt*)]" } ], "type": "reference" }, "__main__.hash2": { "destination": "starkware.cairo.common.hash.hash2", "type": "alias" }, "__main__.hash_contract_update": { "decorators": [], "pc": 126, "type": "function" }, "__main__.hash_contract_update.Args": { "full_name": "__main__.hash_contract_update.Args", "members": { "contract_update": { "cairo_type": "__main__.ContractUpdate*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_contract_update.ImplicitArgs": { "full_name": "__main__.hash_contract_update.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_contract_update.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_contract_update.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_contract_update.contract_update": { "cairo_type": "__main__.ContractUpdate*", "full_name": "__main__.hash_contract_update.contract_update", "references": [ { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-3), __main__.ContractUpdate**)]" } ], "type": "reference" }, "__main__.hash_contract_update.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_contract_update.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_contract_update.res": { "cairo_type": "felt", "full_name": "__main__.hash_contract_update.res", "references": [ { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop": { "decorators": [], "pc": 132, "type": "function" }, "__main__.hash_contract_updates_loop.Args": { "full_name": "__main__.hash_contract_updates_loop.Args", "members": { "contract_updates": { "cairo_type": "__main__.ContractUpdate**", "offset": 1 }, "contract_updates_len": { "cairo_type": "felt", "offset": 2 }, "res": { "cairo_type": "felt", "offset": 0 } }, "size": 3, "type": "struct" }, "__main__.hash_contract_updates_loop.ImplicitArgs": { "full_name": "__main__.hash_contract_updates_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_contract_updates_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_contract_updates_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_contract_updates_loop.contract_update": { "cairo_type": "__main__.ContractUpdate*", "full_name": "__main__.hash_contract_updates_loop.contract_update", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 139, "value": "[cast([fp + (-4)], __main__.ContractUpdate**)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.contract_updates": { "cairo_type": "__main__.ContractUpdate**", "full_name": "__main__.hash_contract_updates_loop.contract_updates", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-4), __main__.ContractUpdate***)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.contract_updates_len": { "cairo_type": "felt", "full_name": "__main__.hash_contract_updates_loop.contract_updates_len", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_contract_updates_loop.hash", "references": [ { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_contract_updates_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 19, "offset": 0 }, "pc": 154, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_contract_updates_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_contract_updates_loop.res", "references": [ { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_class": { "decorators": [], "pc": 160, "type": "function" }, "__main__.hash_declared_class.Args": { "full_name": "__main__.hash_declared_class.Args", "members": { "declared_class": { "cairo_type": "__main__.DeclaredClass*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_declared_class.ImplicitArgs": { "full_name": "__main__.hash_declared_class.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_declared_class.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_declared_class.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_declared_class.declared_class": { "cairo_type": "__main__.DeclaredClass*", "full_name": "__main__.hash_declared_class.declared_class", "references": [ { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-3), __main__.DeclaredClass**)]" } ], "type": "reference" }, "__main__.hash_declared_class.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_declared_class.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_declared_class.res": { "cairo_type": "felt", "full_name": "__main__.hash_declared_class.res", "references": [ { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop": { "decorators": [], "pc": 166, "type": "function" }, "__main__.hash_declared_classes_loop.Args": { "full_name": "__main__.hash_declared_classes_loop.Args", "members": { "declared_classes": { "cairo_type": "__main__.DeclaredClass**", "offset": 1 }, "declared_classes_len": { "cairo_type": "felt", "offset": 2 }, "res": { "cairo_type": "felt", "offset": 0 } }, "size": 3, "type": "struct" }, "__main__.hash_declared_classes_loop.ImplicitArgs": { "full_name": "__main__.hash_declared_classes_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_declared_classes_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_declared_classes_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_declared_classes_loop.declared_class": { "cairo_type": "__main__.DeclaredClass*", "full_name": "__main__.hash_declared_classes_loop.declared_class", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 173, "value": "[cast([fp + (-4)], __main__.DeclaredClass**)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.declared_classes": { "cairo_type": "__main__.DeclaredClass**", "full_name": "__main__.hash_declared_classes_loop.declared_classes", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-4), __main__.DeclaredClass***)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.declared_classes_len": { "cairo_type": "felt", "full_name": "__main__.hash_declared_classes_loop.declared_classes_len", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_declared_classes_loop.hash", "references": [ { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_declared_classes_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 23, "offset": 0 }, "pc": 188, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_declared_classes_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_declared_classes_loop.res", "references": [ { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_update": { "decorators": [], "pc": 55, "type": "function" }, "__main__.hash_nonce_update.Args": { "full_name": "__main__.hash_nonce_update.Args", "members": { "nonce_update": { "cairo_type": "__main__.NonceUpdate*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_nonce_update.ImplicitArgs": { "full_name": "__main__.hash_nonce_update.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_nonce_update.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_nonce_update.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_nonce_update.nonce_update": { "cairo_type": "__main__.NonceUpdate*", "full_name": "__main__.hash_nonce_update.nonce_update", "references": [ { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-3), __main__.NonceUpdate**)]" } ], "type": "reference" }, "__main__.hash_nonce_update.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_nonce_update.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_nonce_update.res": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_update.res", "references": [ { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop": { "decorators": [], "pc": 61, "type": "function" }, "__main__.hash_nonce_updates_loop.Args": { "full_name": "__main__.hash_nonce_updates_loop.Args", "members": { "nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "offset": 1 }, "nonce_updates_len": { "cairo_type": "felt", "offset": 2 }, "res": { "cairo_type": "felt", "offset": 0 } }, "size": 3, "type": "struct" }, "__main__.hash_nonce_updates_loop.ImplicitArgs": { "full_name": "__main__.hash_nonce_updates_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_nonce_updates_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_nonce_updates_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_nonce_updates_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_updates_loop.hash", "references": [ { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.nonce_update": { "cairo_type": "__main__.NonceUpdate*", "full_name": "__main__.hash_nonce_updates_loop.nonce_update", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 68, "value": "[cast([fp + (-4)], __main__.NonceUpdate**)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.nonce_updates": { "cairo_type": "__main__.NonceUpdate**", "full_name": "__main__.hash_nonce_updates_loop.nonce_updates", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-4), __main__.NonceUpdate***)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.nonce_updates_len": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_updates_loop.nonce_updates_len", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_nonce_updates_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 11, "offset": 0 }, "pc": 83, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_nonce_updates_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_nonce_updates_loop.res", "references": [ { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_update": { "decorators": [], "pc": 89, "type": "function" }, "__main__.hash_storage_update.Args": { "full_name": "__main__.hash_storage_update.Args", "members": { "storage_update": { "cairo_type": "__main__.StorageUpdate*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_storage_update.ImplicitArgs": { "full_name": "__main__.hash_storage_update.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_storage_update.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_storage_update.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_storage_update.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_storage_update.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_storage_update.res": { "cairo_type": "felt", "full_name": "__main__.hash_storage_update.res", "references": [ { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_update.storage_update": { "cairo_type": "__main__.StorageUpdate*", "full_name": "__main__.hash_storage_update.storage_update", "references": [ { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-3), __main__.StorageUpdate**)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop": { "decorators": [], "pc": 98, "type": "function" }, "__main__.hash_storage_updates_loop.Args": { "full_name": "__main__.hash_storage_updates_loop.Args", "members": { "res": { "cairo_type": "felt", "offset": 0 }, "storage_updates": { "cairo_type": "__main__.StorageUpdate**", "offset": 1 }, "storage_updates_len": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" }, "__main__.hash_storage_updates_loop.ImplicitArgs": { "full_name": "__main__.hash_storage_updates_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_storage_updates_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_storage_updates_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_storage_updates_loop.hash": { "cairo_type": "felt", "full_name": "__main__.hash_storage_updates_loop.hash", "references": [ { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_storage_updates_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 15, "offset": 0 }, "pc": 120, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_storage_updates_loop.res", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.storage_update": { "cairo_type": "__main__.StorageUpdate*", "full_name": "__main__.hash_storage_updates_loop.storage_update", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 105, "value": "[cast([fp + (-4)], __main__.StorageUpdate**)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.storage_updates": { "cairo_type": "__main__.StorageUpdate**", "full_name": "__main__.hash_storage_updates_loop.storage_updates", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-4), __main__.StorageUpdate***)]" } ], "type": "reference" }, "__main__.hash_storage_updates_loop.storage_updates_len": { "cairo_type": "felt", "full_name": "__main__.hash_storage_updates_loop.storage_updates_len", "references": [ { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.hash_world_da_loop": { "decorators": [], "pc": 24, "type": "function" }, "__main__.hash_world_da_loop.Args": { "full_name": "__main__.hash_world_da_loop.Args", "members": { "res": { "cairo_type": "felt", "offset": 0 }, "world_da": { "cairo_type": "felt*", "offset": 1 }, "world_da_len": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" }, "__main__.hash_world_da_loop.ImplicitArgs": { "full_name": "__main__.hash_world_da_loop.ImplicitArgs", "members": { "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.hash_world_da_loop.Return": { "cairo_type": "(res: felt)", "type": "type_definition" }, "__main__.hash_world_da_loop.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.hash_world_da_loop.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.hash_world_da_loop.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 6, "offset": 0 }, "pc": 42, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.res": { "cairo_type": "felt", "full_name": "__main__.hash_world_da_loop.res", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.value": { "cairo_type": "felt", "full_name": "__main__.hash_world_da_loop.value", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 31, "value": "[cast([fp + (-4)], felt*)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.world_da": { "cairo_type": "felt*", "full_name": "__main__.hash_world_da_loop.world_da", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-4), felt**)]" } ], "type": "reference" }, "__main__.hash_world_da_loop.world_da_len": { "cairo_type": "felt", "full_name": "__main__.hash_world_da_loop.world_da_len", "references": [ { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.main": { "decorators": [], "pc": 272, "type": "function" }, "__main__.main.Args": { "full_name": "__main__.main.Args", "members": {}, "size": 0, "type": "struct" }, "__main__.main.ImplicitArgs": { "full_name": "__main__.main.ImplicitArgs", "members": { "bitwise_ptr": { "cairo_type": "felt*", "offset": 3 }, "output_ptr": { "cairo_type": "felt*", "offset": 0 }, "pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 1 }, "range_check_ptr": { "cairo_type": "felt", "offset": 2 } }, "size": 4, "type": "struct" }, "__main__.main.Return": { "cairo_type": "()", "type": "type_definition" }, "__main__.main.SIZEOF_LOCALS": { "type": "const", "value": 37 }, "__main__.main.__temp6": { "cairo_type": "felt", "full_name": "__main__.main.__temp6", "references": [ { "ap_tracking_data": { "group": 30, "offset": 186 }, "pc": 317, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.main.__temp7": { "cairo_type": "felt", "full_name": "__main__.main.__temp7", "references": [ { "ap_tracking_data": { "group": 31, "offset": 1 }, "pc": 333, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.main.__temp8": { "cairo_type": "felt", "full_name": "__main__.main.__temp8", "references": [ { "ap_tracking_data": { "group": 33, "offset": 1 }, "pc": 345, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.main.bitwise_ptr": { "cairo_type": "felt*", "full_name": "__main__.main.bitwise_ptr", "references": [ { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-3), felt**)]" } ], "type": "reference" }, "__main__.main.input_1": { "cairo_type": "__main__.ProgramInput", "full_name": "__main__.main.input_1", "references": [ { "ap_tracking_data": { "group": 30, "offset": 111 }, "pc": 276, "value": "[cast(ap + (-18), __main__.ProgramInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 111 }, "pc": 294, "value": "[cast(fp, __main__.ProgramInput*)]" } ], "type": "reference" }, "__main__.main.input_2": { "cairo_type": "__main__.ProgramInput", "full_name": "__main__.main.input_2", "references": [ { "ap_tracking_data": { "group": 30, "offset": 185 }, "pc": 296, "value": "[cast(ap + (-18), __main__.ProgramInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 185 }, "pc": 314, "value": "[cast(fp + 18, __main__.ProgramInput*)]" } ], "type": "reference" }, "__main__.main.merged_world_da": { "cairo_type": "__main__.WorldDaInput", "full_name": "__main__.main.merged_world_da", "references": [ { "ap_tracking_data": { "group": 30, "offset": 192 }, "pc": 323, "value": "[cast(ap + (-2), __main__.WorldDaInput*)]" } ], "type": "reference" }, "__main__.main.output_ptr": { "cairo_type": "felt*", "full_name": "__main__.main.output_ptr", "references": [ { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-6), felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 295, "value": "cast([fp + (-6)] + 6, felt*)" }, { "ap_tracking_data": { "group": 31, "offset": 1 }, "pc": 297, "value": "cast([fp + (-6)] + 7, felt*)" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 303, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 33, "offset": 0 }, "pc": 307, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 33, "offset": 1 }, "pc": 309, "value": "cast([ap + (-2)] + 1, felt*)" }, { "ap_tracking_data": { "group": 34, "offset": 0 }, "pc": 315, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 35, "offset": 0 }, "pc": 319, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 332, "value": "cast([fp + (-6)] + 6, felt*)" }, { "ap_tracking_data": { "group": 31, "offset": 1 }, "pc": 334, "value": "cast([fp + (-6)] + 7, felt*)" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 340, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 33, "offset": 0 }, "pc": 344, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 33, "offset": 1 }, "pc": 346, "value": "cast([ap + (-2)] + 1, felt*)" }, { "ap_tracking_data": { "group": 34, "offset": 0 }, "pc": 352, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 35, "offset": 0 }, "pc": 356, "value": "[cast(ap + (-1), felt**)]" } ], "type": "reference" }, "__main__.main.pedersen_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "__main__.main.pedersen_ptr", "references": [ { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 294, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 330, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 331, "value": "[cast(fp + 36, starkware.cairo.common.cairo_builtins.HashBuiltin**)]" } ], "type": "reference" }, "__main__.main.range_check_ptr": { "cairo_type": "felt", "full_name": "__main__.main.range_check_ptr", "references": [ { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-4), felt*)]" } ], "type": "reference" }, "__main__.main.world_da_hash": { "cairo_type": "felt", "full_name": "__main__.main.world_da_hash", "references": [ { "ap_tracking_data": { "group": 30, "offset": 192 }, "pc": 323, "value": "cast(0, felt)" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 330, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.output_array": { "decorators": [], "pc": 222, "type": "function" }, "__main__.output_array.Args": { "full_name": "__main__.output_array.Args", "members": { "array": { "cairo_type": "felt*", "offset": 0 }, "len": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "__main__.output_array.ImplicitArgs": { "full_name": "__main__.output_array.ImplicitArgs", "members": { "output_ptr": { "cairo_type": "felt*", "offset": 0 } }, "size": 1, "type": "struct" }, "__main__.output_array.Return": { "cairo_type": "()", "type": "type_definition" }, "__main__.output_array.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.output_array.__temp5": { "cairo_type": "felt", "full_name": "__main__.output_array.__temp5", "references": [ { "ap_tracking_data": { "group": 27, "offset": 1 }, "pc": 229, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.output_array.array": { "cairo_type": "felt*", "full_name": "__main__.output_array.array", "references": [ { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 222, "value": "[cast(fp + (-4), felt**)]" } ], "type": "reference" }, "__main__.output_array.len": { "cairo_type": "felt", "full_name": "__main__.output_array.len", "references": [ { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 222, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "__main__.output_array.output_ptr": { "cairo_type": "felt*", "full_name": "__main__.output_array.output_ptr", "references": [ { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 222, "value": "[cast(fp + (-5), felt**)]" }, { "ap_tracking_data": { "group": 27, "offset": 1 }, "pc": 230, "value": "cast([fp + (-5)] + 1, felt*)" }, { "ap_tracking_data": { "group": 28, "offset": 0 }, "pc": 238, "value": "[cast(ap + (-1), felt**)]" } ], "type": "reference" }, "__main__.output_array.value": { "cairo_type": "felt", "full_name": "__main__.output_array.value", "references": [ { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 228, "value": "[cast([fp + (-4)], felt*)]" } ], "type": "reference" }, "__main__.replace_or_append": { "decorators": [], "pc": 189, "type": "function" }, "__main__.replace_or_append.Args": { "full_name": "__main__.replace_or_append.Args", "members": { "array": { "cairo_type": "felt*", "offset": 0 }, "key": { "cairo_type": "felt", "offset": 2 }, "len": { "cairo_type": "felt", "offset": 1 }, "value": { "cairo_type": "felt", "offset": 3 } }, "size": 4, "type": "struct" }, "__main__.replace_or_append.ImplicitArgs": { "full_name": "__main__.replace_or_append.ImplicitArgs", "members": {}, "size": 0, "type": "struct" }, "__main__.replace_or_append.Return": { "cairo_type": "(replaced: felt)", "type": "type_definition" }, "__main__.replace_or_append.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "__main__.replace_or_append.__temp0": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.__temp0", "references": [ { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 192, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.replace_or_append.__temp1": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.__temp1", "references": [ { "ap_tracking_data": { "group": 24, "offset": 2 }, "pc": 195, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.replace_or_append.__temp2": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.__temp2", "references": [ { "ap_tracking_data": { "group": 24, "offset": 3 }, "pc": 196, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.replace_or_append.__temp3": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.__temp3", "references": [ { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 201, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.replace_or_append.__temp4": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.__temp4", "references": [ { "ap_tracking_data": { "group": 24, "offset": 2 }, "pc": 202, "value": "[cast(ap + (-1), felt*)]" } ], "type": "reference" }, "__main__.replace_or_append.array": { "cairo_type": "felt*", "full_name": "__main__.replace_or_append.array", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-6), felt**)]" } ], "type": "reference" }, "__main__.replace_or_append.key": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.key", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-4), felt*)]" } ], "type": "reference" }, "__main__.replace_or_append.len": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.len", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-5), felt*)]" } ], "type": "reference" }, "__main__.replace_or_append.value": { "cairo_type": "felt", "full_name": "__main__.replace_or_append.value", "references": [ { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "starkware.cairo.common.cairo_builtins.BitwiseBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", "members": { "x": { "cairo_type": "felt", "offset": 0 }, "x_and_y": { "cairo_type": "felt", "offset": 2 }, "x_or_y": { "cairo_type": "felt", "offset": 4 }, "x_xor_y": { "cairo_type": "felt", "offset": 3 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 5, "type": "struct" }, "starkware.cairo.common.cairo_builtins.EcOpBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.EcOpBuiltin", "members": { "m": { "cairo_type": "felt", "offset": 4 }, "p": { "cairo_type": "starkware.cairo.common.ec_point.EcPoint", "offset": 0 }, "q": { "cairo_type": "starkware.cairo.common.ec_point.EcPoint", "offset": 2 }, "r": { "cairo_type": "starkware.cairo.common.ec_point.EcPoint", "offset": 5 } }, "size": 7, "type": "struct" }, "starkware.cairo.common.cairo_builtins.EcPoint": { "destination": "starkware.cairo.common.ec_point.EcPoint", "type": "alias" }, "starkware.cairo.common.cairo_builtins.HashBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.HashBuiltin", "members": { "result": { "cairo_type": "felt", "offset": 2 }, "x": { "cairo_type": "felt", "offset": 0 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 3, "type": "struct" }, "starkware.cairo.common.cairo_builtins.KeccakBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.KeccakBuiltin", "members": { "input": { "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "offset": 0 }, "output": { "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "offset": 8 } }, "size": 16, "type": "struct" }, "starkware.cairo.common.cairo_builtins.KeccakBuiltinState": { "destination": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "type": "alias" }, "starkware.cairo.common.cairo_builtins.PoseidonBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.PoseidonBuiltin", "members": { "input": { "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "offset": 0 }, "output": { "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "offset": 3 } }, "size": 6, "type": "struct" }, "starkware.cairo.common.cairo_builtins.PoseidonBuiltinState": { "destination": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "type": "alias" }, "starkware.cairo.common.cairo_builtins.SignatureBuiltin": { "full_name": "starkware.cairo.common.cairo_builtins.SignatureBuiltin", "members": { "message": { "cairo_type": "felt", "offset": 1 }, "pub_key": { "cairo_type": "felt", "offset": 0 } }, "size": 2, "type": "struct" }, "starkware.cairo.common.ec_point.EcPoint": { "full_name": "starkware.cairo.common.ec_point.EcPoint", "members": { "x": { "cairo_type": "felt", "offset": 0 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "starkware.cairo.common.hash.HashBuiltin": { "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", "type": "alias" }, "starkware.cairo.common.hash.hash2": { "decorators": [], "pc": 6, "type": "function" }, "starkware.cairo.common.hash.hash2.Args": { "full_name": "starkware.cairo.common.hash.hash2.Args", "members": { "x": { "cairo_type": "felt", "offset": 0 }, "y": { "cairo_type": "felt", "offset": 1 } }, "size": 2, "type": "struct" }, "starkware.cairo.common.hash.hash2.ImplicitArgs": { "full_name": "starkware.cairo.common.hash.hash2.ImplicitArgs", "members": { "hash_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "offset": 0 } }, "size": 1, "type": "struct" }, "starkware.cairo.common.hash.hash2.Return": { "cairo_type": "(result: felt)", "type": "type_definition" }, "starkware.cairo.common.hash.hash2.SIZEOF_LOCALS": { "type": "const", "value": 0 }, "starkware.cairo.common.hash.hash2.hash_ptr": { "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", "full_name": "starkware.cairo.common.hash.hash2.hash_ptr", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "cast([fp + (-5)] + 3, starkware.cairo.common.cairo_builtins.HashBuiltin*)" } ], "type": "reference" }, "starkware.cairo.common.hash.hash2.result": { "cairo_type": "felt", "full_name": "starkware.cairo.common.hash.hash2.result", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "[cast([fp + (-5)] + 2, felt*)]" } ], "type": "reference" }, "starkware.cairo.common.hash.hash2.x": { "cairo_type": "felt", "full_name": "starkware.cairo.common.hash.hash2.x", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-4), felt*)]" } ], "type": "reference" }, "starkware.cairo.common.hash.hash2.y": { "cairo_type": "felt", "full_name": "starkware.cairo.common.hash.hash2.y", "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-3), felt*)]" } ], "type": "reference" }, "starkware.cairo.common.keccak_state.KeccakBuiltinState": { "full_name": "starkware.cairo.common.keccak_state.KeccakBuiltinState", "members": { "s0": { "cairo_type": "felt", "offset": 0 }, "s1": { "cairo_type": "felt", "offset": 1 }, "s2": { "cairo_type": "felt", "offset": 2 }, "s3": { "cairo_type": "felt", "offset": 3 }, "s4": { "cairo_type": "felt", "offset": 4 }, "s5": { "cairo_type": "felt", "offset": 5 }, "s6": { "cairo_type": "felt", "offset": 6 }, "s7": { "cairo_type": "felt", "offset": 7 } }, "size": 8, "type": "struct" }, "starkware.cairo.common.poseidon_state.PoseidonBuiltinState": { "full_name": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", "members": { "s0": { "cairo_type": "felt", "offset": 0 }, "s1": { "cairo_type": "felt", "offset": 1 }, "s2": { "cairo_type": "felt", "offset": 2 } }, "size": 3, "type": "struct" } }, "main_scope": "__main__", "prime": "0x800000000000011000000000000000000000000000000000000000000000001", "reference_manager": { "references": [ { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-4), felt*)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 6, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "[cast([fp + (-5)] + 2, felt*)]" }, { "ap_tracking_data": { "group": 2, "offset": 0 }, "pc": 8, "value": "cast([fp + (-5)] + 3, starkware.cairo.common.cairo_builtins.HashBuiltin*)" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp, __main__.InputConfig*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 4, felt*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 5, felt*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 6, felt*)]" }, { "ap_tracking_data": { "group": 3, "offset": 8 }, "pc": 14, "value": "[cast(fp + 7, felt*)]" }, { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp, felt**)]" }, { "ap_tracking_data": { "group": 4, "offset": 2 }, "pc": 21, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-4), felt**)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 24, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 5, "offset": 0 }, "pc": 31, "value": "[cast([fp + (-4)], felt*)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 5, "offset": 7 }, "pc": 36, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 6, "offset": 0 }, "pc": 42, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp, felt**)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 2, felt**)]" }, { "ap_tracking_data": { "group": 7, "offset": 4 }, "pc": 45, "value": "[cast(fp + 3, felt*)]" }, { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp, __main__.NonceUpdate***)]" }, { "ap_tracking_data": { "group": 8, "offset": 2 }, "pc": 52, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-3), __main__.NonceUpdate**)]" }, { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 9, "offset": 0 }, "pc": 55, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 9, "offset": 7 }, "pc": 60, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-4), __main__.NonceUpdate***)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 61, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 0 }, "pc": 68, "value": "[cast([fp + (-4)], __main__.NonceUpdate**)]" }, { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 11 }, "pc": 72, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 10, "offset": 18 }, "pc": 77, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 11, "offset": 0 }, "pc": 83, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp, __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 12, "offset": 2 }, "pc": 86, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-3), __main__.StorageUpdate**)]" }, { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 0 }, "pc": 89, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 7 }, "pc": 94, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 13, "offset": 12 }, "pc": 97, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-4), __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 98, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 0 }, "pc": 105, "value": "[cast([fp + (-4)], __main__.StorageUpdate**)]" }, { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 16 }, "pc": 109, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 14, "offset": 23 }, "pc": 114, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 15, "offset": 0 }, "pc": 120, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp, __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 16, "offset": 2 }, "pc": 123, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-3), __main__.ContractUpdate**)]" }, { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 17, "offset": 0 }, "pc": 126, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 17, "offset": 7 }, "pc": 131, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-4), __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 132, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 0 }, "pc": 139, "value": "[cast([fp + (-4)], __main__.ContractUpdate**)]" }, { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 11 }, "pc": 143, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 18, "offset": 18 }, "pc": 148, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 19, "offset": 0 }, "pc": 154, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp, __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 20, "offset": 2 }, "pc": 157, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-3), __main__.DeclaredClass**)]" }, { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast(fp + (-4), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 21, "offset": 0 }, "pc": 160, "value": "[cast([fp + (-3)], felt*)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 21, "offset": 7 }, "pc": 165, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-4), __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 166, "value": "[cast(fp + (-6), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 0 }, "pc": 173, "value": "[cast([fp + (-4)], __main__.DeclaredClass**)]" }, { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 11 }, "pc": 177, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 22, "offset": 18 }, "pc": 182, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 23, "offset": 0 }, "pc": 188, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-6), felt**)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-5), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-4), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 0 }, "pc": 189, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 192, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 2 }, "pc": 195, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 3 }, "pc": 196, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 1 }, "pc": 201, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 24, "offset": 2 }, "pc": 202, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 26, "offset": 2 }, "pc": 219, "value": "[cast(fp, felt**)]" }, { "ap_tracking_data": { "group": 26, "offset": 2 }, "pc": 219, "value": "[cast(fp + 1, felt*)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 222, "value": "[cast(fp + (-4), felt**)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 222, "value": "[cast(fp + (-3), felt*)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 222, "value": "[cast(fp + (-5), felt**)]" }, { "ap_tracking_data": { "group": 27, "offset": 0 }, "pc": 228, "value": "[cast([fp + (-4)], felt*)]" }, { "ap_tracking_data": { "group": 27, "offset": 1 }, "pc": 229, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 27, "offset": 1 }, "pc": 230, "value": "cast([fp + (-5)] + 1, felt*)" }, { "ap_tracking_data": { "group": 28, "offset": 0 }, "pc": 238, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 29, "offset": 14 }, "pc": 241, "value": "[cast(ap + (-4), __main__.InputConfig*)]" }, { "ap_tracking_data": { "group": 29, "offset": 20 }, "pc": 243, "value": "[cast(ap + (-2), __main__.NonceUpdate***)]" }, { "ap_tracking_data": { "group": 29, "offset": 20 }, "pc": 243, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 29, "offset": 26 }, "pc": 245, "value": "[cast(ap + (-2), __main__.StorageUpdate***)]" }, { "ap_tracking_data": { "group": 29, "offset": 26 }, "pc": 245, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 29, "offset": 32 }, "pc": 247, "value": "[cast(ap + (-2), __main__.ContractUpdate***)]" }, { "ap_tracking_data": { "group": 29, "offset": 32 }, "pc": 247, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 29, "offset": 38 }, "pc": 249, "value": "[cast(ap + (-2), __main__.DeclaredClass***)]" }, { "ap_tracking_data": { "group": 29, "offset": 38 }, "pc": 249, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 29, "offset": 48 }, "pc": 251, "value": "[cast(ap + (-4), __main__.MassagesInput*)]" }, { "ap_tracking_data": { "group": 29, "offset": 54 }, "pc": 253, "value": "[cast(ap + (-2), __main__.WorldDaInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-6), felt**)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-5), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-4), felt*)]" }, { "ap_tracking_data": { "group": 30, "offset": 0 }, "pc": 272, "value": "[cast(fp + (-3), felt**)]" }, { "ap_tracking_data": { "group": 30, "offset": 111 }, "pc": 276, "value": "[cast(ap + (-18), __main__.ProgramInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 111 }, "pc": 294, "value": "[cast(fp, __main__.ProgramInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 185 }, "pc": 296, "value": "[cast(ap + (-18), __main__.ProgramInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 185 }, "pc": 314, "value": "[cast(fp + 18, __main__.ProgramInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 186 }, "pc": 317, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 30, "offset": 192 }, "pc": 323, "value": "[cast(ap + (-2), __main__.WorldDaInput*)]" }, { "ap_tracking_data": { "group": 30, "offset": 192 }, "pc": 323, "value": "cast(0, felt)" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 330, "value": "[cast(ap + (-2), starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 330, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 331, "value": "[cast(fp + 36, starkware.cairo.common.cairo_builtins.HashBuiltin**)]" }, { "ap_tracking_data": { "group": 31, "offset": 0 }, "pc": 332, "value": "cast([fp + (-6)] + 6, felt*)" }, { "ap_tracking_data": { "group": 31, "offset": 1 }, "pc": 333, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 31, "offset": 1 }, "pc": 334, "value": "cast([fp + (-6)] + 7, felt*)" }, { "ap_tracking_data": { "group": 32, "offset": 0 }, "pc": 340, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 33, "offset": 0 }, "pc": 344, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 33, "offset": 1 }, "pc": 345, "value": "[cast(ap + (-1), felt*)]" }, { "ap_tracking_data": { "group": 33, "offset": 1 }, "pc": 346, "value": "cast([ap + (-2)] + 1, felt*)" }, { "ap_tracking_data": { "group": 34, "offset": 0 }, "pc": 352, "value": "[cast(ap + (-1), felt**)]" }, { "ap_tracking_data": { "group": 35, "offset": 0 }, "pc": 356, "value": "[cast(ap + (-1), felt**)]" } ] }} \ No newline at end of file diff --git a/bin/saya/programs/cairo1batcher.json b/bin/saya/programs/cairo1batcher.json new file mode 100644 index 0000000000..2d84fc6148 --- /dev/null +++ b/bin/saya/programs/cairo1batcher.json @@ -0,0 +1 @@ +{"version":1,"type_declarations":[{"id":{"id":0,"debug_name":"RangeCheck"},"long_id":{"generic_id":"RangeCheck","generic_args":[]},"declared_type_info":{"storable":true,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":25,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":0,"debug_name":"RangeCheck"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":48,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}},{"Value":[1,[1718382455,1333159282,1937072672,1966289503]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":47,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}},{"Value":[1,[1970168947,1713398383,1970544751,1702371439,4812388]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":46,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":38,"debug_name":"u32"}},{"Value":[0,[]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":2,"debug_name":"Array"},"long_id":{"generic_id":"Array","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":3,"debug_name":"Snapshot>"},"long_id":{"generic_id":"Snapshot","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":4,"debug_name":"core::array::Span::"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[3300335458,1649952866,1586379173,11667290,4275777335,629657412,779741659,29027239],"debug_name":"core::array::Span::"}},{"Type":{"id":3,"debug_name":"Snapshot>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":10,"debug_name":"Unit"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":true}},{"id":{"id":43,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[3150627704,1153032397,3087448214,1763882495,3465342813,3042584164,1260878839,30711674],"debug_name":"core::option::Option::>"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":44,"debug_name":"Tuple, core::option::Option::>>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":43,"debug_name":"core::option::Option::>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":13,"debug_name":"core::panics::Panic"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[2208749170,1797821712,129214108,2539384922,764199911,1378060934,2080739472,23743629],"debug_name":"core::panics::Panic"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":true}},{"id":{"id":14,"debug_name":"Tuple>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":13,"debug_name":"core::panics::Panic"}},{"Type":{"id":2,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":45,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2151393902,1110179061,4206242838,2858574093,474661183,2845135022,84170644,20962673],"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Type":{"id":44,"debug_name":"Tuple, core::option::Option::>>"}},{"Type":{"id":14,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":1,"debug_name":"felt252"},"long_id":{"generic_id":"felt252","generic_args":[]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":5,"debug_name":"batcher::Call"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[2625791853,2064936836,3330289355,1565718335,1125572079,2770585342,2879026428,55099976],"debug_name":"batcher::Call"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":40,"debug_name":"core::option::Option::"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2895621376,913253303,71035836,3176508258,2281737629,3114732634,2838176454,60149786],"debug_name":"core::option::Option::"}},{"Type":{"id":5,"debug_name":"batcher::Call"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":41,"debug_name":"Tuple, core::option::Option::>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":40,"debug_name":"core::option::Option::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":42,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2825095520,3354913265,1578589298,1992988084,1332289123,1717914821,3578878408,58783465],"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Type":{"id":41,"debug_name":"Tuple, core::option::Option::>"}},{"Type":{"id":14,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":39,"debug_name":"NonZero"},"long_id":{"generic_id":"NonZero","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":38,"debug_name":"u32"},"long_id":{"generic_id":"u32","generic_args":[]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":33,"debug_name":"Box"},"long_id":{"generic_id":"Box","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":34,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[732892949,1496296606,43141077,937854453,77543249,486497238,111833425,62342774],"debug_name":"core::option::Option::>"}},{"Type":{"id":33,"debug_name":"Box"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":36,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":6,"debug_name":"Array"},"long_id":{"generic_id":"Array","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":7,"debug_name":"Snapshot>"},"long_id":{"generic_id":"Snapshot","generic_args":[{"Type":{"id":6,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":37,"debug_name":"Uninitialized>>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":7,"debug_name":"Snapshot>"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":35,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":32,"debug_name":"core::option::Option::"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[272176401,869952872,2746667304,3595774673,2182797035,1218417362,2279605826,18640256],"debug_name":"core::option::Option::"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":8,"debug_name":"core::array::Span::"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[3535146776,1633711915,3573680563,2432849790,2489149545,975863298,604432966,48173762],"debug_name":"core::array::Span::"}},{"Type":{"id":7,"debug_name":"Snapshot>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":31,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2540319368,1257567776,2211510899,234620219,4144046013,3380065828,3846016807,31541559],"debug_name":"core::option::Option::>"}},{"Type":{"id":8,"debug_name":"core::array::Span::"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":28,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2651521491,2702264438,3349297123,2641520905,395184660,3265031354,40356875,29156503],"debug_name":"core::option::Option::>"}},{"Type":{"id":6,"debug_name":"Array"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":29,"debug_name":"Tuple, core::option::Option::>>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":28,"debug_name":"core::option::Option::>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":30,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[3744693764,707396276,1091080131,2903631532,2192196751,3200291328,2218249911,20459305],"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Type":{"id":29,"debug_name":"Tuple, core::option::Option::>>"}},{"Type":{"id":14,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":26,"debug_name":"Box"},"long_id":{"generic_id":"Box","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":27,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[1148899559,2378266466,1485259957,133414423,2674006245,2028450664,3226109961,43875671],"debug_name":"core::option::Option::>"}},{"Type":{"id":26,"debug_name":"Box"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":23,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}},{"Value":[1,[1818584110,543580521,2003984752,976909678,1953066862,20336]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":17,"debug_name":"Tuple>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":2,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":18,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[704622403,483171566,1759595788,2942942373,3836427357,911959852,2124004651,45932020],"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}},{"Type":{"id":17,"debug_name":"Tuple>"}},{"Type":{"id":14,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":16,"debug_name":"batcher::ProgramOutput"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[130101611,3970475116,2464124615,2479543974,1604804411,1756796302,1622338952,11389379],"debug_name":"batcher::ProgramOutput"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":21,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}},{"Value":[1,[42]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":20,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}},{"Value":[1,[52]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":19,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}},{"Value":[1,[1]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":9,"debug_name":"batcher::ProgramInput"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[3159547457,537249463,1465738781,1252568823,1531272048,732913786,1913439605,56287581],"debug_name":"batcher::ProgramInput"}},{"Type":{"id":8,"debug_name":"core::array::Span::"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":1,"debug_name":"felt252"}},{"Type":{"id":1,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":11,"debug_name":"core::option::Option::"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2971819458,2257569485,133080994,2189010706,89601730,3431785258,1581189460,20944972],"debug_name":"core::option::Option::"}},{"Type":{"id":9,"debug_name":"batcher::ProgramInput"}},{"Type":{"id":10,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":12,"debug_name":"Tuple, core::option::Option::>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":11,"debug_name":"core::option::Option::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":15,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2124623091,183429199,4291964600,2171957582,304455107,1961777831,2435207868,11891435],"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Type":{"id":12,"debug_name":"Tuple, core::option::Option::>"}},{"Type":{"id":14,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":22,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}}],"libfunc_declarations":[{"id":{"id":17,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":0,"debug_name":"RangeCheck"}}]}},{"id":{"id":18,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":19,"debug_name":"finalize_locals"},"long_id":{"generic_id":"finalize_locals","generic_args":[]}},{"id":{"id":20,"debug_name":"disable_ap_tracking"},"long_id":{"generic_id":"disable_ap_tracking","generic_args":[]}},{"id":{"id":21,"debug_name":"snapshot_take>"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":22,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":9,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":36,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":0,"debug_name":"RangeCheck"}}]}},{"id":{"id":37,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":16,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":2,"debug_name":"batcher::ProgramInputSerde::deserialize"}}]}},{"id":{"id":38,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":0,"debug_name":"RangeCheck"}}]}},{"id":{"id":15,"debug_name":"enum_match, core::option::Option::)>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":15,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}}]}},{"id":{"id":23,"debug_name":"branch_align"},"long_id":{"generic_id":"branch_align","generic_args":[]}},{"id":{"id":14,"debug_name":"struct_deconstruct, core::option::Option::>>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":12,"debug_name":"Tuple, core::option::Option::>"}}]}},{"id":{"id":24,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":13,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":11,"debug_name":"core::option::Option::"}}]}},{"id":{"id":4,"debug_name":"array_new"},"long_id":{"generic_id":"array_new","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":12,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":9,"debug_name":"batcher::ProgramInput"}}]}},{"id":{"id":25,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":39,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":8,"debug_name":"core::array::Span::"}}]}},{"id":{"id":40,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":41,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":11,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":1,"debug_name":"batcher::main[expr31]"}}]}},{"id":{"id":26,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":8,"debug_name":"core::array::Span::"}}]}},{"id":{"id":27,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":19,"debug_name":"Const"}}]}},{"id":{"id":28,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":10,"debug_name":"felt252_add"},"long_id":{"generic_id":"felt252_add","generic_args":[]}},{"id":{"id":29,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":20,"debug_name":"Const"}}]}},{"id":{"id":30,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":21,"debug_name":"Const"}}]}},{"id":{"id":8,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":16,"debug_name":"batcher::ProgramOutput"}}]}},{"id":{"id":31,"debug_name":"snapshot_take"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":16,"debug_name":"batcher::ProgramOutput"}}]}},{"id":{"id":32,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":16,"debug_name":"batcher::ProgramOutput"}}]}},{"id":{"id":42,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":16,"debug_name":"batcher::ProgramOutput"}}]}},{"id":{"id":7,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":0,"debug_name":"batcher::ProgramOutputSerde::serialize"}}]}},{"id":{"id":6,"debug_name":"struct_construct>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":17,"debug_name":"Tuple>"}}]}},{"id":{"id":5,"debug_name":"enum_init,)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":18,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}},{"Value":[0,[]]}]}},{"id":{"id":43,"debug_name":"store_temp,)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":18,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}}]}},{"id":{"id":33,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":10,"debug_name":"Unit"}}]}},{"id":{"id":34,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":22,"debug_name":"Uninitialized"}}]}},{"id":{"id":35,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":23,"debug_name":"Const"}}]}},{"id":{"id":44,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":3,"debug_name":"array_append"},"long_id":{"generic_id":"array_append","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":2,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":13,"debug_name":"core::panics::Panic"}}]}},{"id":{"id":1,"debug_name":"struct_construct>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":14,"debug_name":"Tuple>"}}]}},{"id":{"id":0,"debug_name":"enum_init,)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":18,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}},{"Value":[1,[1]]}]}},{"id":{"id":59,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":55,"debug_name":"array_snapshot_pop_front"},"long_id":{"generic_id":"array_snapshot_pop_front","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":69,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":27,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":75,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]}},{"id":{"id":76,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":27,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":70,"debug_name":"jump"},"long_id":{"generic_id":"jump","generic_args":[]}},{"id":{"id":52,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":10,"debug_name":"Unit"}}]}},{"id":{"id":68,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":27,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":67,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":27,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":54,"debug_name":"unbox"},"long_id":{"generic_id":"unbox","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":66,"debug_name":"array_new"},"long_id":{"generic_id":"array_new","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":71,"debug_name":"rename"},"long_id":{"generic_id":"rename","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":77,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":6,"debug_name":"Array"}}]}},{"id":{"id":65,"debug_name":"function_call>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":4,"debug_name":"core::array::deserialize_array_helper::"}}]}},{"id":{"id":64,"debug_name":"enum_match, core::option::Option::>)>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":63,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":29,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":62,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":28,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":72,"debug_name":"snapshot_take>"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":6,"debug_name":"Array"}}]}},{"id":{"id":73,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":6,"debug_name":"Array"}}]}},{"id":{"id":61,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":8,"debug_name":"core::array::Span::"}}]}},{"id":{"id":60,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":31,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":78,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":31,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":57,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":31,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":58,"debug_name":"enum_init, core::option::Option::)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":15,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Value":[1,[1]]}]}},{"id":{"id":79,"debug_name":"store_temp, core::option::Option::)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":15,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}}]}},{"id":{"id":56,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":31,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":74,"debug_name":"enable_ap_tracking"},"long_id":{"generic_id":"enable_ap_tracking","generic_args":[]}},{"id":{"id":53,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":32,"debug_name":"core::option::Option::"}},{"Value":[0,[]]}]}},{"id":{"id":80,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":32,"debug_name":"core::option::Option::"}}]}},{"id":{"id":51,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":32,"debug_name":"core::option::Option::"}},{"Value":[1,[1]]}]}},{"id":{"id":50,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":32,"debug_name":"core::option::Option::"}}]}},{"id":{"id":49,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":9,"debug_name":"batcher::ProgramInput"}}]}},{"id":{"id":48,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":11,"debug_name":"core::option::Option::"}},{"Value":[0,[]]}]}},{"id":{"id":46,"debug_name":"struct_construct, core::option::Option::>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":12,"debug_name":"Tuple, core::option::Option::>"}}]}},{"id":{"id":45,"debug_name":"enum_init, core::option::Option::)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":15,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Value":[0,[]]}]}},{"id":{"id":47,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":11,"debug_name":"core::option::Option::"}},{"Value":[1,[1]]}]}},{"id":{"id":89,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":90,"debug_name":"alloc_local>>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":7,"debug_name":"Snapshot>"}}]}},{"id":{"id":91,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":88,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":8,"debug_name":"core::array::Span::"}}]}},{"id":{"id":87,"debug_name":"array_snapshot_pop_front"},"long_id":{"generic_id":"array_snapshot_pop_front","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":86,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":34,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":96,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":7,"debug_name":"Snapshot>"}}]}},{"id":{"id":97,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":34,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":85,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":34,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":98,"debug_name":"store_local>>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":7,"debug_name":"Snapshot>"}}]}},{"id":{"id":84,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":34,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":83,"debug_name":"unbox"},"long_id":{"generic_id":"unbox","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":99,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":92,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":82,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":93,"debug_name":"rename>"},"long_id":{"generic_id":"rename","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":81,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":5,"debug_name":"core::array::ArrayImpl::::append_span::, core::felt252Drop>"}}]}},{"id":{"id":100,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":94,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":35,"debug_name":"Uninitialized>"}}]}},{"id":{"id":95,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":36,"debug_name":"Uninitialized"}}]}},{"id":{"id":105,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":16,"debug_name":"batcher::ProgramOutput"}}]}},{"id":{"id":104,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":16,"debug_name":"batcher::ProgramOutput"}}]}},{"id":{"id":106,"debug_name":"dup>"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":103,"debug_name":"array_len"},"long_id":{"generic_id":"array_len","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":102,"debug_name":"u32_to_felt252"},"long_id":{"generic_id":"u32_to_felt252","generic_args":[]}},{"id":{"id":101,"debug_name":"function_call>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":6,"debug_name":"core::array::serialize_array_helper::"}}]}},{"id":{"id":146,"debug_name":"felt252_is_zero"},"long_id":{"generic_id":"felt252_is_zero","generic_args":[]}},{"id":{"id":145,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":28,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":109,"debug_name":"struct_construct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":29,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":108,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[0,[]]}]}},{"id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":147,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":39,"debug_name":"NonZero"}}]}},{"id":{"id":116,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":7,"debug_name":"batcher::CallSerde::deserialize"}}]}},{"id":{"id":115,"debug_name":"enum_match, core::option::Option::)>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":42,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}}]}},{"id":{"id":114,"debug_name":"struct_deconstruct, core::option::Option::>>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":41,"debug_name":"Tuple, core::option::Option::>"}}]}},{"id":{"id":113,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":40,"debug_name":"core::option::Option::"}}]}},{"id":{"id":112,"debug_name":"array_append"},"long_id":{"generic_id":"array_append","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":111,"debug_name":"felt252_sub"},"long_id":{"generic_id":"felt252_sub","generic_args":[]}},{"id":{"id":110,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":28,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":107,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[1,[1]]}]}},{"id":{"id":138,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]}},{"id":{"id":126,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":8,"debug_name":"core::array::SpanFelt252Serde::deserialize"}}]}},{"id":{"id":125,"debug_name":"enum_match, core::option::Option::>)>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":45,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":124,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":44,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":123,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":43,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":122,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":5,"debug_name":"batcher::Call"}}]}},{"id":{"id":121,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":40,"debug_name":"core::option::Option::"}},{"Value":[0,[]]}]}},{"id":{"id":118,"debug_name":"struct_construct, core::option::Option::>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":41,"debug_name":"Tuple, core::option::Option::>"}}]}},{"id":{"id":117,"debug_name":"enum_init, core::option::Option::)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":42,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Value":[0,[]]}]}},{"id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":42,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}}]}},{"id":{"id":119,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":40,"debug_name":"core::option::Option::"}},{"Value":[1,[1]]}]}},{"id":{"id":120,"debug_name":"enum_init, core::option::Option::)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":42,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Value":[1,[1]]}]}},{"id":{"id":135,"debug_name":"dup>>"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]}},{"id":{"id":134,"debug_name":"u32_try_from_felt252"},"long_id":{"generic_id":"u32_try_from_felt252","generic_args":[]}},{"id":{"id":136,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":46,"debug_name":"Const"}}]}},{"id":{"id":137,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":38,"debug_name":"u32"}}]}},{"id":{"id":142,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":38,"debug_name":"u32"}}]}},{"id":{"id":132,"debug_name":"array_slice"},"long_id":{"generic_id":"array_slice","generic_args":[{"Type":{"id":1,"debug_name":"felt252"}}]}},{"id":{"id":133,"debug_name":"u32_overflowing_sub"},"long_id":{"generic_id":"u32_overflowing_sub","generic_args":[]}},{"id":{"id":131,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":43,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":128,"debug_name":"struct_construct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":44,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":127,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":45,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[0,[]]}]}},{"id":{"id":143,"debug_name":"store_temp, core::option::Option::>)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":45,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":139,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":47,"debug_name":"Const"}}]}},{"id":{"id":130,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":45,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[1,[1]]}]}},{"id":{"id":140,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":38,"debug_name":"u32"}}]}},{"id":{"id":141,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":48,"debug_name":"Const"}}]}},{"id":{"id":129,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":43,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}}],"statements":[{"Invocation":{"libfunc_id":{"id":17,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"finalize_locals"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":21,"debug_name":"snapshot_take>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null},{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":22,"debug_name":"drop>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":38,"debug_name":"store_local"},"args":[{"id":3,"debug_name":null},{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_match, core::option::Option::)>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]},{"target":{"Statement":68},"results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"struct_deconstruct, core::option::Option::>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null},{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"enum_match>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]},{"target":{"Statement":54},"results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"struct_deconstruct"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null},{"id":4,"debug_name":null},{"id":6,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":39,"debug_name":"store_temp>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":41,"debug_name":"store_local"},"args":[{"id":5,"debug_name":null},{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":41,"debug_name":"store_local"},"args":[{"id":7,"debug_name":null},{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":11,"debug_name":"function_call"},"args":[{"id":20,"debug_name":null},{"id":19,"debug_name":null},{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null},{"id":23,"debug_name":null},{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":26,"debug_name":"drop>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":27,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"dup"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null},{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"felt252_add"},"args":[{"id":27,"debug_name":null},{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":27,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"felt252_add"},"args":[{"id":4,"debug_name":null},{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":29,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":30,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":21,"debug_name":"snapshot_take>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":22,"debug_name":"drop>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":21,"debug_name":"snapshot_take>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null},{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":22,"debug_name":"drop>"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct"},"args":[{"id":6,"debug_name":null},{"id":28,"debug_name":null},{"id":30,"debug_name":null},{"id":31,"debug_name":null},{"id":32,"debug_name":null},{"id":37,"debug_name":null},{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":31,"debug_name":"snapshot_take"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null},{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":32,"debug_name":"drop"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":42,"debug_name":"store_temp"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":7,"debug_name":"function_call"},"args":[{"id":41,"debug_name":null},{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"struct_construct>>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"enum_init,)>, 0>"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":43,"debug_name":"store_temp,)>>"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Return":[{"id":2,"debug_name":null},{"id":44,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":33,"debug_name":"drop"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":34,"debug_name":"drop>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":34,"debug_name":"drop>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":35,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":45,"debug_name":null},{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"struct_construct>>"},"args":[{"id":48,"debug_name":null},{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":0,"debug_name":"enum_init,)>, 1>"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":43,"debug_name":"store_temp,)>>"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Return":[{"id":2,"debug_name":null},{"id":50,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":34,"debug_name":"drop>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":34,"debug_name":"drop>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":0,"debug_name":"enum_init,)>, 1>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":43,"debug_name":"store_temp,)>>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Return":[{"id":2,"debug_name":null},{"id":51,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":83},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":69,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":88},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":67,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":125},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":66,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"store_temp>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":65,"debug_name":"function_call>"},"args":[{"id":0,"debug_name":null},{"id":15,"debug_name":null},{"id":14,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null},{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]},{"target":{"Statement":120},"results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":63,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null},{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"enum_match>>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]},{"target":{"Statement":113},"results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"snapshot_take>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null},{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":73,"debug_name":"drop>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"struct_construct>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"enum_init>, 0>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"store_temp>>"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":132},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":57,"debug_name":"enum_init>, 1>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"store_temp>>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":132},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"enum_init, core::option::Option::)>, 1>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Return":[{"id":17,"debug_name":null},{"id":35,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":33,"debug_name":"drop"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":57,"debug_name":"enum_init>, 1>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"store_temp>>"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":56,"debug_name":"enum_match>>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]},{"target":{"Statement":221},"results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":74,"debug_name":"enable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null},{"id":41,"debug_name":null}]},{"target":{"Statement":143},"results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":53,"debug_name":"enum_init, 0>"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":148},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":51,"debug_name":"enum_init, 1>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"enum_match>"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]},{"target":{"Statement":211},"results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null},{"id":53,"debug_name":null}]},{"target":{"Statement":158},"results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":53,"debug_name":"enum_init, 0>"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":163},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":51,"debug_name":"enum_init, 1>"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"enum_match>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]},{"target":{"Statement":200},"results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null},{"id":65,"debug_name":null}]},{"target":{"Statement":173},"results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":67,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":68,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":53,"debug_name":"enum_init, 0>"},"args":[{"id":68,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":69,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":70,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":69,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":71,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":178},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":72,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":51,"debug_name":"enum_init, 1>"},"args":[{"id":72,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":73,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":70,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":73,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":71,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":70,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"enum_match>"},"args":[{"id":71,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":75,"debug_name":null}]},{"target":{"Statement":189},"results":[{"id":76,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"struct_construct"},"args":[{"id":38,"debug_name":null},{"id":50,"debug_name":null},{"id":62,"debug_name":null},{"id":75,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":77,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init, 0>"},"args":[{"id":77,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":78,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":74,"debug_name":null},{"id":78,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":79,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":79,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":80,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":80,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":80,"debug_name":null}]}]}},{"Return":[{"id":30,"debug_name":null},{"id":80,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":26,"debug_name":"drop>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"enum_init, 1>"},"args":[{"id":76,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":74,"debug_name":null},{"id":81,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":82,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":82,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":83,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":83,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":83,"debug_name":null}]}]}},{"Return":[{"id":30,"debug_name":null},{"id":83,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":26,"debug_name":"drop>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":84,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"enum_init, 1>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":85,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":84,"debug_name":null},{"id":85,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":86,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":86,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":87,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":87,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":87,"debug_name":null}]}]}},{"Return":[{"id":30,"debug_name":null},{"id":87,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":26,"debug_name":"drop>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":88,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"enum_init, 1>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":89,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":88,"debug_name":null},{"id":89,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":90,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":90,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":91,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":91,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":91,"debug_name":null}]}]}},{"Return":[{"id":30,"debug_name":null},{"id":91,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":92,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"enum_init, 1>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":93,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":92,"debug_name":null},{"id":93,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":94,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":94,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":95,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":95,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":95,"debug_name":null}]}]}},{"Return":[{"id":30,"debug_name":null},{"id":95,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"alloc_local>>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"finalize_locals"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":87,"debug_name":"array_snapshot_pop_front"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null},{"id":11,"debug_name":null}]},{"target":{"Statement":241},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"enum_init>, 0>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":96,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":246},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":85,"debug_name":"enum_init>, 1>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":96,"debug_name":"store_temp>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":98,"debug_name":"store_local>>"},"args":[{"id":6,"debug_name":null},{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"struct_construct>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":84,"debug_name":"enum_match>>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]},{"target":{"Statement":277},"results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":83,"debug_name":"unbox"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":99,"debug_name":"store_local"},"args":[{"id":8,"debug_name":null},{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"dup"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"struct_deconstruct"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null},{"id":22,"debug_name":null},{"id":23,"debug_name":null},{"id":24,"debug_name":null},{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"rename>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"args":[{"id":2,"debug_name":null},{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"struct_deconstruct"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null},{"id":28,"debug_name":null},{"id":29,"debug_name":null},{"id":30,"debug_name":null},{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"rename>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":100,"debug_name":"store_local>"},"args":[{"id":4,"debug_name":null},{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"args":[{"id":1,"debug_name":null},{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":39,"debug_name":"store_temp>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":11,"debug_name":"function_call"},"args":[{"id":17,"debug_name":null},{"id":33,"debug_name":null},{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null},{"id":35,"debug_name":null},{"id":36,"debug_name":null}]}]}},{"Return":[{"id":34,"debug_name":null},{"id":35,"debug_name":null},{"id":36,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":33,"debug_name":"drop"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"drop>>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":95,"debug_name":"drop>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":39,"debug_name":"store_temp>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Return":[{"id":17,"debug_name":null},{"id":2,"debug_name":null},{"id":1,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":105,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"struct_deconstruct"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null},{"id":5,"debug_name":null},{"id":6,"debug_name":null},{"id":7,"debug_name":null},{"id":8,"debug_name":null},{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":1,"debug_name":null},{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":105,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"struct_deconstruct"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null},{"id":14,"debug_name":null},{"id":15,"debug_name":null},{"id":16,"debug_name":null},{"id":17,"debug_name":null},{"id":18,"debug_name":null},{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":11,"debug_name":null},{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":105,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"struct_deconstruct"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null},{"id":25,"debug_name":null},{"id":26,"debug_name":null},{"id":27,"debug_name":null},{"id":28,"debug_name":null},{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":21,"debug_name":null},{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":105,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"struct_deconstruct"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null},{"id":35,"debug_name":null},{"id":36,"debug_name":null},{"id":37,"debug_name":null},{"id":38,"debug_name":null},{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":31,"debug_name":null},{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":105,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"struct_deconstruct"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null},{"id":44,"debug_name":null},{"id":45,"debug_name":null},{"id":46,"debug_name":null},{"id":47,"debug_name":null},{"id":48,"debug_name":null},{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":41,"debug_name":null},{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":105,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"struct_deconstruct"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null},{"id":54,"debug_name":null},{"id":55,"debug_name":null},{"id":56,"debug_name":null},{"id":57,"debug_name":null},{"id":58,"debug_name":null},{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"dup>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null},{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"rename>"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":103,"debug_name":"array_len"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":102,"debug_name":"u32_to_felt252"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":51,"debug_name":null},{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"rename>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"function_call>"},"args":[{"id":66,"debug_name":null},{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"struct_deconstruct"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":68,"debug_name":null},{"id":69,"debug_name":null},{"id":70,"debug_name":null},{"id":71,"debug_name":null},{"id":72,"debug_name":null},{"id":73,"debug_name":null},{"id":74,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":68,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":69,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":70,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":71,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":72,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":73,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"dup>"},"args":[{"id":74,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null},{"id":75,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"rename>"},"args":[{"id":75,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":76,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":76,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":77,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":103,"debug_name":"array_len"},"args":[{"id":77,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":78,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":102,"debug_name":"u32_to_felt252"},"args":[{"id":78,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":79,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":79,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":79,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":67,"debug_name":null},{"id":79,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":80,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"rename>"},"args":[{"id":74,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":81,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":80,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":80,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"function_call>"},"args":[{"id":81,"debug_name":null},{"id":80,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":82,"debug_name":null}]}]}},{"Return":[{"id":82,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":146,"debug_name":"felt252_is_zero"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":385},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":145,"debug_name":"enum_init>, 0>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":109,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":1,"debug_name":null},{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":8,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":147,"debug_name":"drop>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":116,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null},{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":115,"debug_name":"enum_match, core::option::Option::)>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":413},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":114,"debug_name":"struct_deconstruct, core::option::Option::>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null},{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":113,"debug_name":"enum_match>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]},{"target":{"Statement":404},"results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"array_append"},"args":[{"id":2,"debug_name":null},{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":27,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"felt252_sub"},"args":[{"id":3,"debug_name":null},{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"store_temp>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":65,"debug_name":"function_call>"},"args":[{"id":9,"debug_name":null},{"id":13,"debug_name":null},{"id":17,"debug_name":null},{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Return":[{"id":20,"debug_name":null},{"id":21,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":73,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":110,"debug_name":"enum_init>, 1>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":109,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":13,"debug_name":null},{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Return":[{"id":9,"debug_name":null},{"id":24,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":73,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Return":[{"id":9,"debug_name":null},{"id":25,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":428},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":69,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":433},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":67,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":444},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":0,"debug_name":null},{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"args":[{"id":15,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Return":[{"id":17,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":33,"debug_name":"drop"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":457},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":69,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":462},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":67,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":473},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":1,"debug_name":null},{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"function_call>"},"args":[{"id":16,"debug_name":null},{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Return":[{"id":17,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":33,"debug_name":"drop"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Return":[{"id":1,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":487},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":53,"debug_name":"enum_init, 0>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":492},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":51,"debug_name":"enum_init, 1>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"enum_match>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]},{"target":{"Statement":603},"results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null},{"id":16,"debug_name":null}]},{"target":{"Statement":502},"results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":53,"debug_name":"enum_init, 0>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":507},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":51,"debug_name":"enum_init, 1>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"store_temp>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"enum_match>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]},{"target":{"Statement":595},"results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":126,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null},{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":125,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]},{"target":{"Statement":588},"results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":124,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null},{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"enum_match>>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]},{"target":{"Statement":579},"results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":126,"debug_name":"function_call"},"args":[{"id":28,"debug_name":null},{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null},{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":125,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]},{"target":{"Statement":571},"results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":124,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null},{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"enum_match>>"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]},{"target":{"Statement":561},"results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"store_temp>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":126,"debug_name":"function_call"},"args":[{"id":36,"debug_name":null},{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null},{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":125,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]},{"target":{"Statement":552},"results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":124,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null},{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"enum_match>>"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]},{"target":{"Statement":541},"results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"struct_construct"},"args":[{"id":13,"debug_name":null},{"id":26,"debug_name":null},{"id":34,"debug_name":null},{"id":42,"debug_name":null},{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"enum_init, 0>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":48,"debug_name":null},{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Return":[{"id":44,"debug_name":null},{"id":55,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"enum_init, 1>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":48,"debug_name":null},{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Return":[{"id":44,"debug_name":null},{"id":58,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"enum_init, core::option::Option::)>, 1>"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Return":[{"id":44,"debug_name":null},{"id":59,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"enum_init, 1>"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":40,"debug_name":null},{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Return":[{"id":36,"debug_name":null},{"id":62,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"enum_init, core::option::Option::)>, 1>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Return":[{"id":36,"debug_name":null},{"id":63,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"enum_init, 1>"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":32,"debug_name":null},{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Return":[{"id":28,"debug_name":null},{"id":66,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"enum_init, core::option::Option::)>, 1>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":67,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Return":[{"id":28,"debug_name":null},{"id":67,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"enum_init, 1>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":68,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":25,"debug_name":null},{"id":68,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":69,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":69,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":70,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":70,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":70,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":70,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":71,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"enum_init, 1>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":72,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":71,"debug_name":null},{"id":72,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":73,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":73,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":74,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":74,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":618},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":69,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":623},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":67,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]},{"target":{"Statement":705},"results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"unbox"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"rename"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":134,"debug_name":"u32_try_from_felt252"},"args":[{"id":0,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null},{"id":18,"debug_name":null}]},{"target":{"Statement":696},"results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":136,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":137,"debug_name":"dup"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null},{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":142,"debug_name":"store_temp"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":132,"debug_name":"array_slice"},"args":[{"id":17,"debug_name":null},{"id":21,"debug_name":null},{"id":20,"debug_name":null},{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]},{"target":{"Statement":683},"results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":103,"debug_name":"array_len"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":137,"debug_name":"dup"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null},{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":142,"debug_name":"store_temp"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"store_temp>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":133,"debug_name":"u32_overflowing_sub"},"args":[{"id":23,"debug_name":null},{"id":27,"debug_name":null},{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null},{"id":30,"debug_name":null}]},{"target":{"Statement":668},"results":[{"id":31,"debug_name":null},{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":132,"debug_name":"array_slice"},"args":[{"id":29,"debug_name":null},{"id":7,"debug_name":null},{"id":18,"debug_name":null},{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null}]},{"target":{"Statement":656},"results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":131,"debug_name":"enum_init>, 0>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"struct_construct>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":128,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":38,"debug_name":null},{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":143,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Return":[{"id":33,"debug_name":null},{"id":40,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":139,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":41,"debug_name":null},{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"struct_construct>>"},"args":[{"id":44,"debug_name":null},{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":130,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":143,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Return":[{"id":35,"debug_name":null},{"id":46,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":140,"debug_name":"drop"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":140,"debug_name":"drop"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":141,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":47,"debug_name":null},{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"struct_construct>>"},"args":[{"id":50,"debug_name":null},{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":130,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":143,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Return":[{"id":31,"debug_name":null},{"id":52,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":140,"debug_name":"drop"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":139,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"store_temp"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"array_append"},"args":[{"id":53,"debug_name":null},{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"struct_construct>>"},"args":[{"id":56,"debug_name":null},{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":130,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":143,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Return":[{"id":25,"debug_name":null},{"id":58,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":129,"debug_name":"enum_init>, 1>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":128,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":12,"debug_name":null},{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":143,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Return":[{"id":19,"debug_name":null},{"id":62,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":33,"debug_name":"drop"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":129,"debug_name":"enum_init>, 1>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":128,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":12,"debug_name":null},{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":143,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":66,"debug_name":null}]}],"funcs":[{"id":{"id":3,"debug_name":"batcher::main"},"signature":{"param_types":[{"id":0,"debug_name":"RangeCheck"},{"id":2,"debug_name":"Array"}],"ret_types":[{"id":0,"debug_name":"RangeCheck"},{"id":18,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":0,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}}],"entry_point":0},{"id":{"id":2,"debug_name":"batcher::ProgramInputSerde::deserialize"},"signature":{"param_types":[{"id":0,"debug_name":"RangeCheck"},{"id":4,"debug_name":"core::array::Span::"}],"ret_types":[{"id":0,"debug_name":"RangeCheck"},{"id":15,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":0,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}}],"entry_point":75},{"id":{"id":1,"debug_name":"batcher::main[expr31]"},"signature":{"param_types":[{"id":8,"debug_name":"core::array::Span::"},{"id":2,"debug_name":"Array"},{"id":2,"debug_name":"Array"}],"ret_types":[{"id":8,"debug_name":"core::array::Span::"},{"id":2,"debug_name":"Array"},{"id":2,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}},{"id":{"id":2,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}}],"entry_point":229},{"id":{"id":0,"debug_name":"batcher::ProgramOutputSerde::serialize"},"signature":{"param_types":[{"id":16,"debug_name":"batcher::ProgramOutput"},{"id":2,"debug_name":"Array"}],"ret_types":[{"id":2,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":16,"debug_name":"batcher::ProgramOutput"}},{"id":{"id":1,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}}],"entry_point":285},{"id":{"id":4,"debug_name":"core::array::deserialize_array_helper::"},"signature":{"param_types":[{"id":0,"debug_name":"RangeCheck"},{"id":4,"debug_name":"core::array::Span::"},{"id":6,"debug_name":"Array"},{"id":1,"debug_name":"felt252"}],"ret_types":[{"id":0,"debug_name":"RangeCheck"},{"id":30,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":0,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":2,"debug_name":null},"ty":{"id":6,"debug_name":"Array"}},{"id":{"id":3,"debug_name":null},"ty":{"id":1,"debug_name":"felt252"}}],"entry_point":374},{"id":{"id":5,"debug_name":"core::array::ArrayImpl::::append_span::, core::felt252Drop>"},"signature":{"param_types":[{"id":2,"debug_name":"Array"},{"id":4,"debug_name":"core::array::Span::"}],"ret_types":[{"id":2,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}},{"id":{"id":1,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}}],"entry_point":420},{"id":{"id":6,"debug_name":"core::array::serialize_array_helper::"},"signature":{"param_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":2,"debug_name":"Array"}],"ret_types":[{"id":2,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}}],"entry_point":449},{"id":{"id":7,"debug_name":"batcher::CallSerde::deserialize"},"signature":{"param_types":[{"id":0,"debug_name":"RangeCheck"},{"id":4,"debug_name":"core::array::Span::"}],"ret_types":[{"id":0,"debug_name":"RangeCheck"},{"id":42,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":0,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}}],"entry_point":478},{"id":{"id":8,"debug_name":"core::array::SpanFelt252Serde::deserialize"},"signature":{"param_types":[{"id":0,"debug_name":"RangeCheck"},{"id":4,"debug_name":"core::array::Span::"}],"ret_types":[{"id":0,"debug_name":"RangeCheck"},{"id":45,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":0,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}}],"entry_point":611}],"debug_info":{"type_names":[],"libfunc_names":[],"user_func_names":[]}} \ No newline at end of file diff --git a/bin/saya/programs/cairo1checker.json b/bin/saya/programs/cairo1checker.json new file mode 100644 index 0000000000..d13e5d48ef --- /dev/null +++ b/bin/saya/programs/cairo1checker.json @@ -0,0 +1 @@ +{"version":1,"type_declarations":[{"id":{"id":0,"debug_name":"felt252"},"long_id":{"generic_id":"felt252","generic_args":[]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":2,"debug_name":"Array"},"long_id":{"generic_id":"Array","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":3,"debug_name":"Snapshot>"},"long_id":{"generic_id":"Snapshot","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":4,"debug_name":"core::array::Span::"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1121073044,3807148430,3090028591,44166606,1083659202,1290006902,3329965140,61429220],"debug_name":"core::array::Span::"}},{"Type":{"id":3,"debug_name":"Snapshot>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":14,"debug_name":"dojo_os::StorageUpdates"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[3670310231,2572044744,1861886744,1239152095,2990094688,1327321899,2304456714,51460106],"debug_name":"dojo_os::StorageUpdates"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":5,"debug_name":"Unit"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":true}},{"id":{"id":75,"debug_name":"core::option::Option::"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[546506583,2593065927,3800301033,4033646542,1962154607,211341177,585503142,16766430],"debug_name":"core::option::Option::"}},{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":1,"debug_name":"dojo_os::KeyValue"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[4014754406,3291444950,1154310047,1979421235,3097725027,1815679939,4178168821,31224505],"debug_name":"dojo_os::KeyValue"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":74,"debug_name":"core::option::Option::"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[136856044,2319047780,4077159835,1802124859,423089136,1696125566,3382096737,31900958],"debug_name":"core::option::Option::"}},{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":73,"debug_name":"Box"},"long_id":{"generic_id":"Box","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":10,"debug_name":"Array"},"long_id":{"generic_id":"Array","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":11,"debug_name":"Snapshot>"},"long_id":{"generic_id":"Snapshot","generic_args":[{"Type":{"id":10,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":18,"debug_name":"core::array::Span::"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[3300335458,1649952866,1586379173,11667290,4275777335,629657412,779741659,29027239],"debug_name":"core::array::Span::"}},{"Type":{"id":11,"debug_name":"Snapshot>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":67,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[3150627704,1153032397,3087448214,1763882495,3465342813,3042584164,1260878839,30711674],"debug_name":"core::option::Option::>"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":68,"debug_name":"Tuple, core::option::Option::>>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}},{"Type":{"id":67,"debug_name":"core::option::Option::>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":23,"debug_name":"core::panics::Panic"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[2208749170,1797821712,129214108,2539384922,764199911,1378060934,2080739472,23743629],"debug_name":"core::panics::Panic"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":true}},{"id":{"id":24,"debug_name":"Tuple>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":23,"debug_name":"core::panics::Panic"}},{"Type":{"id":10,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":69,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2151393902,1110179061,4206242838,2858574093,474661183,2845135022,84170644,20962673],"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Type":{"id":68,"debug_name":"Tuple, core::option::Option::>>"}},{"Type":{"id":24,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":15,"debug_name":"Array"},"long_id":{"generic_id":"Array","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":16,"debug_name":"Snapshot>"},"long_id":{"generic_id":"Snapshot","generic_args":[{"Type":{"id":15,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":17,"debug_name":"core::array::Span::"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[2505659599,3368250351,851135870,373521560,4233560587,4070463777,1694403402,54550421],"debug_name":"core::array::Span::"}},{"Type":{"id":16,"debug_name":"Snapshot>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":66,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[708918690,3351065953,2331652755,2408774848,526634916,673375692,1456403417,40237776],"debug_name":"core::option::Option::>"}},{"Type":{"id":17,"debug_name":"core::array::Span::"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":65,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[1127497966,1170532002,2876057341,464010258,1074984677,2879890948,1505383269,59746908],"debug_name":"core::option::Option::>"}},{"Type":{"id":15,"debug_name":"Array"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":64,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[1159191208,2247309466,1553979720,772843375,673163748,4093801470,3907927554,9666651],"debug_name":"core::option::Option::>"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":63,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2588193705,182070448,1775974173,1330273225,3437236693,1162840534,1068725584,49996573],"debug_name":"core::option::Option::>"}},{"Type":{"id":2,"debug_name":"Array"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":71,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":70,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":72,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":62,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}},{"Value":[1,[1718382455,1333159282,1633969184,1966289503]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":61,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":60,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":27,"debug_name":"u32"},"long_id":{"generic_id":"u32","generic_args":[]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":31,"debug_name":"core::pedersen::HashState"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[2327370914,1444546486,18181554,1494811133,2938099708,1984801804,1433588967,18247651],"debug_name":"core::pedersen::HashState"}},{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":58,"debug_name":"Tuple"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":27,"debug_name":"u32"}},{"Type":{"id":31,"debug_name":"core::pedersen::HashState"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2024390680,3309564455,2149442024,4184739032,3510437838,316876990,3907853892,50301742],"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}},{"Type":{"id":58,"debug_name":"Tuple"}},{"Type":{"id":24,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":57,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}},{"Value":[1,[1]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":19,"debug_name":"dojo_os::ProgramInput"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[455036844,3182791209,965763683,1057047090,3089180850,834903351,737468663,7639728],"debug_name":"dojo_os::ProgramInput"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":17,"debug_name":"core::array::Span::"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}},{"Type":{"id":4,"debug_name":"core::array::Span::"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":54,"debug_name":"core::option::Option::"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[505384754,2626779484,3198693345,1815501033,3826757764,2354938729,3177285357,19765637],"debug_name":"core::option::Option::"}},{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":55,"debug_name":"Tuple, core::option::Option::>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}},{"Type":{"id":54,"debug_name":"core::option::Option::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":56,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[2603694984,116950188,3731004036,3709933158,3415110813,2987152322,2401218281,24661302],"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Type":{"id":55,"debug_name":"Tuple, core::option::Option::>"}},{"Type":{"id":24,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":52,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":53,"debug_name":"Uninitialized>>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":51,"debug_name":"NonZero"},"long_id":{"generic_id":"NonZero","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":49,"debug_name":"Box"},"long_id":{"generic_id":"Box","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":50,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[3553464590,1619054049,136189688,1514243507,1327346582,3387736664,1369481581,41428419],"debug_name":"core::option::Option::>"}},{"Type":{"id":49,"debug_name":"Box"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":48,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}},{"Value":[1,[1818584110,543580521,2003984752,976909678,1953066862,20336]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":46,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}},{"Value":[1,[1718382455,1333159282,1937072672,1966289503]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":45,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}},{"Value":[1,[1970168947,1713398383,1970544751,1702371439,4812388]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":35,"debug_name":"Tuple>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":10,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":36,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[704622403,483171566,1759595788,2942942373,3836427357,911959852,2124004651,45932020],"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}},{"Type":{"id":35,"debug_name":"Tuple>"}},{"Type":{"id":24,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":34,"debug_name":"dojo_os::ProgramOutput"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[21629750,551718496,552802623,2282998262,3285218287,3420345169,3288937466,46602648],"debug_name":"dojo_os::ProgramOutput"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":32,"debug_name":"Tuple"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":31,"debug_name":"core::pedersen::HashState"}},{"Type":{"id":27,"debug_name":"u32"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":33,"debug_name":"core::panics::PanicResult::<(core::pedersen::HashState, core::integer::u32, ())>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[52253450,3728952179,3906130982,1798356319,367878739,4128768367,3696300693,2972714],"debug_name":"core::panics::PanicResult::<(core::pedersen::HashState, core::integer::u32, ())>"}},{"Type":{"id":32,"debug_name":"Tuple"}},{"Type":{"id":24,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":39,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}},{"Value":[0,[]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":29,"debug_name":"Tuple"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":30,"debug_name":"core::panics::PanicResult::<(core::felt252,)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[3781419609,1294779531,2850182087,4225787322,3600103873,2077540448,3810641450,1056827],"debug_name":"core::panics::PanicResult::<(core::felt252,)>"}},{"Type":{"id":29,"debug_name":"Tuple"}},{"Type":{"id":24,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":38,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":27,"debug_name":"u32"}},{"Value":[1,[1]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":28,"debug_name":"Box"},"long_id":{"generic_id":"Box","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":37,"debug_name":"Const"},"long_id":{"generic_id":"Const","generic_args":[{"Type":{"id":27,"debug_name":"u32"}},{"Value":[0,[]]}]},"declared_type_info":{"storable":false,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":20,"debug_name":"Array"},"long_id":{"generic_id":"Array","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":26,"debug_name":"Snapshot>"},"long_id":{"generic_id":"Snapshot","generic_args":[{"Type":{"id":20,"debug_name":"Array"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":21,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[1698368909,1535631718,4025485978,3175514840,3211008278,1338493557,2444455970,5300416],"debug_name":"core::option::Option::>"}},{"Type":{"id":20,"debug_name":"Array"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":22,"debug_name":"Tuple, core::option::Option::>>"},"long_id":{"generic_id":"Struct","generic_args":[{"UserType":{"id":[1380714691,777545161,640624565,3564344830,2506258596,2515665124,462026948,49159723],"debug_name":"Tuple"}},{"Type":{"id":18,"debug_name":"core::array::Span::"}},{"Type":{"id":21,"debug_name":"core::option::Option::>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":25,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[1023834550,1751483181,3652760430,880592701,1049625899,3220204553,4031495037,60795928],"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Type":{"id":22,"debug_name":"Tuple, core::option::Option::>>"}},{"Type":{"id":24,"debug_name":"Tuple>"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":12,"debug_name":"Box"},"long_id":{"generic_id":"Box","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":13,"debug_name":"core::option::Option::>"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[1148899559,2378266466,1485259957,133414423,2674006245,2028450664,3226109961,43875671],"debug_name":"core::option::Option::>"}},{"Type":{"id":12,"debug_name":"Box"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}},{"id":{"id":47,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":20,"debug_name":"Array"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":40,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":10,"debug_name":"Array"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":44,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":43,"debug_name":"Uninitialized>"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":29,"debug_name":"Tuple"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":9,"debug_name":"Pedersen"},"long_id":{"generic_id":"Pedersen","generic_args":[]},"declared_type_info":{"storable":true,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":42,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":9,"debug_name":"Pedersen"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":8,"debug_name":"RangeCheck"},"long_id":{"generic_id":"RangeCheck","generic_args":[]},"declared_type_info":{"storable":true,"droppable":false,"duplicatable":false,"zero_sized":false}},{"id":{"id":41,"debug_name":"Uninitialized"},"long_id":{"generic_id":"Uninitialized","generic_args":[{"Type":{"id":8,"debug_name":"RangeCheck"}}]},"declared_type_info":{"storable":false,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":6,"debug_name":"core::option::Option::"},"long_id":{"generic_id":"Enum","generic_args":[{"UserType":{"id":[272176401,869952872,2746667304,3595774673,2182797035,1218417362,2279605826,18640256],"debug_name":"core::option::Option::"}},{"Type":{"id":0,"debug_name":"felt252"}},{"Type":{"id":5,"debug_name":"Unit"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}}],"libfunc_declarations":[{"id":{"id":1,"debug_name":"disable_ap_tracking"},"long_id":{"generic_id":"disable_ap_tracking","generic_args":[]}},{"id":{"id":2,"debug_name":"snapshot_take"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":3,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":5,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":6,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":0,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":0,"debug_name":"dojo_os::find[expr20]"}}]}},{"id":{"id":4,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":7,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":2,"debug_name":"dojo_os::find_last[expr20]"}}]}},{"id":{"id":10,"debug_name":"array_new"},"long_id":{"generic_id":"array_new","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":14,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":9,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":4,"debug_name":"dojo_os::deduplicate_da[expr36]"}}]}},{"id":{"id":12,"debug_name":"snapshot_take>"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":13,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":8,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":50,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":8,"debug_name":"RangeCheck"}}]}},{"id":{"id":51,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":9,"debug_name":"Pedersen"}}]}},{"id":{"id":52,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":29,"debug_name":"Tuple"}}]}},{"id":{"id":53,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":54,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":10,"debug_name":"Array"}}]}},{"id":{"id":55,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":20,"debug_name":"Array"}}]}},{"id":{"id":56,"debug_name":"finalize_locals"},"long_id":{"generic_id":"finalize_locals","generic_args":[]}},{"id":{"id":57,"debug_name":"snapshot_take>"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":10,"debug_name":"Array"}}]}},{"id":{"id":58,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":10,"debug_name":"Array"}}]}},{"id":{"id":49,"debug_name":"array_snapshot_pop_front"},"long_id":{"generic_id":"array_snapshot_pop_front","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":59,"debug_name":"branch_align"},"long_id":{"generic_id":"branch_align","generic_args":[]}},{"id":{"id":48,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":13,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":88,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":11,"debug_name":"Snapshot>"}}]}},{"id":{"id":89,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":13,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":60,"debug_name":"jump"},"long_id":{"generic_id":"jump","generic_args":[]}},{"id":{"id":47,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":5,"debug_name":"Unit"}}]}},{"id":{"id":46,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":13,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":45,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":13,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":44,"debug_name":"unbox"},"long_id":{"generic_id":"unbox","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":43,"debug_name":"array_new"},"long_id":{"generic_id":"array_new","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":24,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":61,"debug_name":"rename"},"long_id":{"generic_id":"rename","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":90,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":8,"debug_name":"RangeCheck"}}]}},{"id":{"id":91,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":92,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":20,"debug_name":"Array"}}]}},{"id":{"id":42,"debug_name":"function_call>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":10,"debug_name":"core::array::deserialize_array_helper::"}}]}},{"id":{"id":41,"debug_name":"enum_match, core::option::Option::>)>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":25,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":40,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":22,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":62,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":39,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":21,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":93,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":20,"debug_name":"Array"}}]}},{"id":{"id":63,"debug_name":"snapshot_take>"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":20,"debug_name":"Array"}}]}},{"id":{"id":64,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":37,"debug_name":"Const"}}]}},{"id":{"id":94,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":27,"debug_name":"u32"}}]}},{"id":{"id":36,"debug_name":"array_get"},"long_id":{"generic_id":"array_get","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":95,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":28,"debug_name":"Box"}}]}},{"id":{"id":35,"debug_name":"unbox"},"long_id":{"generic_id":"unbox","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":38,"debug_name":"array_len"},"long_id":{"generic_id":"array_len","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":65,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":38,"debug_name":"Const"}}]}},{"id":{"id":96,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":37,"debug_name":"u32_overflowing_sub"},"long_id":{"generic_id":"u32_overflowing_sub","generic_args":[]}},{"id":{"id":19,"debug_name":"array_new"},"long_id":{"generic_id":"array_new","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":66,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":67,"debug_name":"rename"},"long_id":{"generic_id":"rename","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":97,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":9,"debug_name":"Pedersen"}}]}},{"id":{"id":98,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":34,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":9,"debug_name":"dojo_os::ProgramInputImpl::hash_new_state"}}]}},{"id":{"id":99,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":8,"debug_name":"RangeCheck"}}]}},{"id":{"id":100,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":9,"debug_name":"Pedersen"}}]}},{"id":{"id":33,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::felt252,)>"}}]}},{"id":{"id":101,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":10,"debug_name":"Array"}}]}},{"id":{"id":102,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":29,"debug_name":"Tuple"}}]}},{"id":{"id":32,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":8,"debug_name":"dojo_os::main[expr78]"}}]}},{"id":{"id":68,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":20,"debug_name":"Array"}}]}},{"id":{"id":103,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":10,"debug_name":"Array"}}]}},{"id":{"id":69,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":39,"debug_name":"Const"}}]}},{"id":{"id":31,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":31,"debug_name":"core::pedersen::HashState"}}]}},{"id":{"id":104,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":31,"debug_name":"core::pedersen::HashState"}}]}},{"id":{"id":30,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":7,"debug_name":"dojo_os::ProgramInputImpl::hash_world_da[expr33]"}}]}},{"id":{"id":29,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":33,"debug_name":"core::panics::PanicResult::<(core::pedersen::HashState, core::integer::u32, ())>"}}]}},{"id":{"id":28,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":70,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]}},{"id":{"id":27,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":29,"debug_name":"Tuple"}}]}},{"id":{"id":26,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":32,"debug_name":"Tuple"}}]}},{"id":{"id":71,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":27,"debug_name":"u32"}}]}},{"id":{"id":72,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":5,"debug_name":"Unit"}}]}},{"id":{"id":25,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":31,"debug_name":"core::pedersen::HashState"}}]}},{"id":{"id":23,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":34,"debug_name":"dojo_os::ProgramOutput"}}]}},{"id":{"id":73,"debug_name":"snapshot_take"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":34,"debug_name":"dojo_os::ProgramOutput"}}]}},{"id":{"id":74,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":34,"debug_name":"dojo_os::ProgramOutput"}}]}},{"id":{"id":105,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":34,"debug_name":"dojo_os::ProgramOutput"}}]}},{"id":{"id":22,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":6,"debug_name":"dojo_os::ProgramOutputSerde::serialize"}}]}},{"id":{"id":21,"debug_name":"struct_construct>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":35,"debug_name":"Tuple>"}}]}},{"id":{"id":20,"debug_name":"enum_init,)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":36,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}},{"Value":[0,[]]}]}},{"id":{"id":106,"debug_name":"store_temp,)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":36,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}}]}},{"id":{"id":75,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":76,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":29,"debug_name":"Tuple"}}]}},{"id":{"id":15,"debug_name":"enum_init,)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":36,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}},{"Value":[1,[1]]}]}},{"id":{"id":77,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":40,"debug_name":"Uninitialized>"}}]}},{"id":{"id":78,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":41,"debug_name":"Uninitialized"}}]}},{"id":{"id":79,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":42,"debug_name":"Uninitialized"}}]}},{"id":{"id":80,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":43,"debug_name":"Uninitialized>"}}]}},{"id":{"id":81,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":44,"debug_name":"Uninitialized"}}]}},{"id":{"id":82,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":45,"debug_name":"Const"}}]}},{"id":{"id":18,"debug_name":"array_append"},"long_id":{"generic_id":"array_append","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":17,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":23,"debug_name":"core::panics::Panic"}}]}},{"id":{"id":16,"debug_name":"struct_construct>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":24,"debug_name":"Tuple>"}}]}},{"id":{"id":83,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":26,"debug_name":"Snapshot>"}}]}},{"id":{"id":84,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":46,"debug_name":"Const"}}]}},{"id":{"id":85,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":47,"debug_name":"Uninitialized>"}}]}},{"id":{"id":86,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":11,"debug_name":"Snapshot>"}}]}},{"id":{"id":87,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":48,"debug_name":"Const"}}]}},{"id":{"id":117,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":116,"debug_name":"array_snapshot_pop_front"},"long_id":{"generic_id":"array_snapshot_pop_front","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":115,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":50,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":121,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]}},{"id":{"id":122,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":50,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":114,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":50,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":113,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":50,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":112,"debug_name":"unbox"},"long_id":{"generic_id":"unbox","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":118,"debug_name":"rename"},"long_id":{"generic_id":"rename","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":111,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":119,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":110,"debug_name":"felt252_sub"},"long_id":{"generic_id":"felt252_sub","generic_args":[]}},{"id":{"id":109,"debug_name":"felt252_is_zero"},"long_id":{"generic_id":"felt252_is_zero","generic_args":[]}},{"id":{"id":108,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":6,"debug_name":"core::option::Option::"}},{"Value":[0,[]]}]}},{"id":{"id":123,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":6,"debug_name":"core::option::Option::"}}]}},{"id":{"id":120,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":51,"debug_name":"NonZero"}}]}},{"id":{"id":107,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":6,"debug_name":"core::option::Option::"}},{"Value":[1,[1]]}]}},{"id":{"id":124,"debug_name":"array_snapshot_pop_back"},"long_id":{"generic_id":"array_snapshot_pop_back","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":128,"debug_name":"alloc_local>>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]}},{"id":{"id":129,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":133,"debug_name":"store_local>>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]}},{"id":{"id":134,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":130,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":127,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":6,"debug_name":"core::option::Option::"}}]}},{"id":{"id":131,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":135,"debug_name":"dup>"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":126,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":136,"debug_name":"store_temp"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":125,"debug_name":"array_append"},"long_id":{"generic_id":"array_append","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":132,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":52,"debug_name":"Uninitialized"}}]}},{"id":{"id":146,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":21,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":139,"debug_name":"struct_construct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":22,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":138,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":25,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[0,[]]}]}},{"id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":25,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":145,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":12,"debug_name":"dojo_os::ProgramInputSerde::deserialize"}}]}},{"id":{"id":144,"debug_name":"enum_match, core::option::Option::)>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":56,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}}]}},{"id":{"id":143,"debug_name":"struct_deconstruct, core::option::Option::>>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":55,"debug_name":"Tuple, core::option::Option::>"}}]}},{"id":{"id":142,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":54,"debug_name":"core::option::Option::"}}]}},{"id":{"id":141,"debug_name":"array_append"},"long_id":{"generic_id":"array_append","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":147,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":57,"debug_name":"Const"}}]}},{"id":{"id":140,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":21,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":137,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":25,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[1,[1]]}]}},{"id":{"id":156,"debug_name":"pedersen"},"long_id":{"generic_id":"pedersen","generic_args":[]}},{"id":{"id":154,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":13,"debug_name":"dojo_os::ProgramInputImpl::hash_dict[expr35]"}}]}},{"id":{"id":153,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}}]}},{"id":{"id":152,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":58,"debug_name":"Tuple"}}]}},{"id":{"id":157,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]}},{"id":{"id":155,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":14,"debug_name":"dojo_os::ProgramInputImpl::hash_storage_updates[expr62]"}}]}},{"id":{"id":151,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":29,"debug_name":"Tuple"}}]}},{"id":{"id":150,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::felt252,)>"}},{"Value":[0,[]]}]}},{"id":{"id":158,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::felt252,)>"}}]}},{"id":{"id":149,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":30,"debug_name":"core::panics::PanicResult::<(core::felt252,)>"}},{"Value":[1,[1]]}]}},{"id":{"id":164,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":165,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":163,"debug_name":"array_pop_front"},"long_id":{"generic_id":"array_pop_front","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":162,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":54,"debug_name":"core::option::Option::"}},{"Value":[0,[]]}]}},{"id":{"id":168,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":54,"debug_name":"core::option::Option::"}}]}},{"id":{"id":161,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":54,"debug_name":"core::option::Option::"}},{"Value":[1,[1]]}]}},{"id":{"id":169,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":160,"debug_name":"function_call::append_span::, dojo_os::KeyValueDrop>>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":16,"debug_name":"core::array::ArrayImpl::::append_span::, dojo_os::KeyValueDrop>"}}]}},{"id":{"id":170,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":2,"debug_name":"Array"}}]}},{"id":{"id":159,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":15,"debug_name":"core::array::ArrayImpl::::append_span::, core::felt252Drop>"}}]}},{"id":{"id":166,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":60,"debug_name":"Uninitialized>"}}]}},{"id":{"id":167,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":61,"debug_name":"Uninitialized>"}}]}},{"id":{"id":177,"debug_name":"array_len"},"long_id":{"generic_id":"array_len","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":178,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":27,"debug_name":"u32"}}]}},{"id":{"id":176,"debug_name":"u32_eq"},"long_id":{"generic_id":"u32_eq","generic_args":[]}},{"id":{"id":175,"debug_name":"array_get"},"long_id":{"generic_id":"array_get","generic_args":[{"Type":{"id":1,"debug_name":"dojo_os::KeyValue"}}]}},{"id":{"id":181,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":49,"debug_name":"Box"}}]}},{"id":{"id":174,"debug_name":"u32_overflowing_add"},"long_id":{"generic_id":"u32_overflowing_add","generic_args":[]}},{"id":{"id":179,"debug_name":"const_as_immediate>"},"long_id":{"generic_id":"const_as_immediate","generic_args":[{"Type":{"id":62,"debug_name":"Const"}}]}},{"id":{"id":173,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":33,"debug_name":"core::panics::PanicResult::<(core::pedersen::HashState, core::integer::u32, ())>"}},{"Value":[1,[1]]}]}},{"id":{"id":182,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":33,"debug_name":"core::panics::PanicResult::<(core::pedersen::HashState, core::integer::u32, ())>"}}]}},{"id":{"id":180,"debug_name":"drop"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":31,"debug_name":"core::pedersen::HashState"}}]}},{"id":{"id":172,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":32,"debug_name":"Tuple"}}]}},{"id":{"id":171,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":33,"debug_name":"core::panics::PanicResult::<(core::pedersen::HashState, core::integer::u32, ())>"}},{"Value":[0,[]]}]}},{"id":{"id":188,"debug_name":"dup"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":34,"debug_name":"dojo_os::ProgramOutput"}}]}},{"id":{"id":187,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":34,"debug_name":"dojo_os::ProgramOutput"}}]}},{"id":{"id":189,"debug_name":"dup>"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":190,"debug_name":"rename>"},"long_id":{"generic_id":"rename","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":186,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":18,"debug_name":"core::array::Span::"}}]}},{"id":{"id":185,"debug_name":"array_len"},"long_id":{"generic_id":"array_len","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":184,"debug_name":"u32_to_felt252"},"long_id":{"generic_id":"u32_to_felt252","generic_args":[]}},{"id":{"id":183,"debug_name":"function_call>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":17,"debug_name":"core::array::serialize_array_helper::"}}]}},{"id":{"id":220,"debug_name":"alloc_local"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":221,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":222,"debug_name":"alloc_local>"},"long_id":{"generic_id":"alloc_local","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]}},{"id":{"id":228,"debug_name":"store_local"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":212,"debug_name":"function_call>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":19,"debug_name":"core::array::deserialize_array_helper::"}}]}},{"id":{"id":211,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":63,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":210,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":64,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":229,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":64,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":209,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":64,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":208,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":64,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":230,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":4,"debug_name":"core::array::Span::"}}]}},{"id":{"id":219,"debug_name":"array_new"},"long_id":{"generic_id":"array_new","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":231,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":15,"debug_name":"Array"}}]}},{"id":{"id":218,"debug_name":"function_call>"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":20,"debug_name":"core::array::deserialize_array_helper::"}}]}},{"id":{"id":217,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":65,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":223,"debug_name":"snapshot_take>"},"long_id":{"generic_id":"snapshot_take","generic_args":[{"Type":{"id":15,"debug_name":"Array"}}]}},{"id":{"id":224,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":15,"debug_name":"Array"}}]}},{"id":{"id":216,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]}},{"id":{"id":215,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":66,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":232,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":66,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":214,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":66,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":213,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":66,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":233,"debug_name":"store_local>"},"long_id":{"generic_id":"store_local","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]}},{"id":{"id":198,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":18,"debug_name":"core::array::SpanFelt252Serde::deserialize"}}]}},{"id":{"id":197,"debug_name":"enum_match, core::option::Option::>)>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":69,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":196,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":68,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":195,"debug_name":"enum_match>>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":67,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":194,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":19,"debug_name":"dojo_os::ProgramInput"}}]}},{"id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":55,"debug_name":"Tuple, core::option::Option::>"}}]}},{"id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":56,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Value":[0,[]]}]}},{"id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":56,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}}]}},{"id":{"id":193,"debug_name":"enum_init, core::option::Option::)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":56,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}},{"Value":[1,[1]]}]}},{"id":{"id":225,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":70,"debug_name":"Uninitialized>"}}]}},{"id":{"id":226,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":71,"debug_name":"Uninitialized>"}}]}},{"id":{"id":227,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":72,"debug_name":"Uninitialized"}}]}},{"id":{"id":237,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}},{"Value":[1,[1]]}]}},{"id":{"id":238,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}}]}},{"id":{"id":236,"debug_name":"struct_construct>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":58,"debug_name":"Tuple"}}]}},{"id":{"id":235,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}},{"Value":[0,[]]}]}},{"id":{"id":245,"debug_name":"dup>"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]}},{"id":{"id":243,"debug_name":"struct_deconstruct>"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":17,"debug_name":"core::array::Span::"}}]}},{"id":{"id":244,"debug_name":"array_len"},"long_id":{"generic_id":"array_len","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":242,"debug_name":"array_get"},"long_id":{"generic_id":"array_get","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":248,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":73,"debug_name":"Box"}}]}},{"id":{"id":241,"debug_name":"unbox"},"long_id":{"generic_id":"unbox","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":246,"debug_name":"rename"},"long_id":{"generic_id":"rename","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":240,"debug_name":"struct_deconstruct"},"long_id":{"generic_id":"struct_deconstruct","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":239,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":21,"debug_name":"dojo_os::ProgramInputImpl::hash_storage_updates[expr57]"}}]}},{"id":{"id":247,"debug_name":"drop>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":58,"debug_name":"Tuple"}}]}},{"id":{"id":249,"debug_name":"drop>>"},"long_id":{"generic_id":"drop","generic_args":[{"Type":{"id":3,"debug_name":"Snapshot>"}}]}},{"id":{"id":254,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":63,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":256,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":63,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":255,"debug_name":"enable_ap_tracking"},"long_id":{"generic_id":"enable_ap_tracking","generic_args":[]}},{"id":{"id":253,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":74,"debug_name":"core::option::Option::"}},{"Value":[0,[]]}]}},{"id":{"id":257,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":74,"debug_name":"core::option::Option::"}}]}},{"id":{"id":252,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":74,"debug_name":"core::option::Option::"}},{"Value":[1,[1]]}]}},{"id":{"id":251,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":74,"debug_name":"core::option::Option::"}}]}},{"id":{"id":250,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":63,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":262,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":65,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":263,"debug_name":"store_temp>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":65,"debug_name":"core::option::Option::>"}}]}},{"id":{"id":261,"debug_name":"function_call"},"long_id":{"generic_id":"function_call","generic_args":[{"UserFunc":{"id":22,"debug_name":"dojo_os::StorageUpdatesSerde::deserialize"}}]}},{"id":{"id":260,"debug_name":"enum_match>"},"long_id":{"generic_id":"enum_match","generic_args":[{"Type":{"id":75,"debug_name":"core::option::Option::"}}]}},{"id":{"id":259,"debug_name":"array_append"},"long_id":{"generic_id":"array_append","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":258,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":65,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":206,"debug_name":"dup>>"},"long_id":{"generic_id":"dup","generic_args":[{"Type":{"id":11,"debug_name":"Snapshot>"}}]}},{"id":{"id":205,"debug_name":"u32_try_from_felt252"},"long_id":{"generic_id":"u32_try_from_felt252","generic_args":[]}},{"id":{"id":204,"debug_name":"array_slice"},"long_id":{"generic_id":"array_slice","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]}},{"id":{"id":203,"debug_name":"enum_init>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":67,"debug_name":"core::option::Option::>"}},{"Value":[0,[]]}]}},{"id":{"id":200,"debug_name":"struct_construct, core::option::Option::>>>"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":68,"debug_name":"Tuple, core::option::Option::>>"}}]}},{"id":{"id":199,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":69,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[0,[]]}]}},{"id":{"id":207,"debug_name":"store_temp, core::option::Option::>)>>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":69,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}}]}},{"id":{"id":202,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":69,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}},{"Value":[1,[1]]}]}},{"id":{"id":201,"debug_name":"enum_init>, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":67,"debug_name":"core::option::Option::>"}},{"Value":[1,[1]]}]}},{"id":{"id":266,"debug_name":"struct_construct"},"long_id":{"generic_id":"struct_construct","generic_args":[{"Type":{"id":14,"debug_name":"dojo_os::StorageUpdates"}}]}},{"id":{"id":265,"debug_name":"enum_init, 0>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":75,"debug_name":"core::option::Option::"}},{"Value":[0,[]]}]}},{"id":{"id":267,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":75,"debug_name":"core::option::Option::"}}]}},{"id":{"id":264,"debug_name":"enum_init, 1>"},"long_id":{"generic_id":"enum_init","generic_args":[{"Type":{"id":75,"debug_name":"core::option::Option::"}},{"Value":[1,[1]]}]}}],"statements":[{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"snapshot_take"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":0,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Return":[{"id":5,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"snapshot_take"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":7,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Return":[{"id":5,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Return":[{"id":6,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":51,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":52,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":53,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":53,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":51,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":56,"debug_name":"finalize_locals"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":57,"debug_name":"snapshot_take>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null},{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null},{"id":28,"debug_name":null}]},{"target":{"Statement":47},"results":[{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":52},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]},{"target":{"Statement":350},"results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":43,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"store_temp>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":42,"debug_name":"function_call>"},"args":[{"id":0,"debug_name":null},{"id":39,"debug_name":null},{"id":38,"debug_name":null},{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null},{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":41,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]},{"target":{"Statement":333},"results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":40,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null},{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":39,"debug_name":"enum_match>>"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]},{"target":{"Statement":318},"results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"store_local>"},"args":[{"id":24,"debug_name":null},{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":63,"debug_name":"snapshot_take>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null},{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"array_get"},"args":[{"id":41,"debug_name":null},{"id":49,"debug_name":null},{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null},{"id":52,"debug_name":null}]},{"target":{"Statement":295},"results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":95,"debug_name":"store_temp>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":35,"debug_name":"unbox"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":63,"debug_name":"snapshot_take>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null},{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":63,"debug_name":"snapshot_take>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null},{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":38,"debug_name":"array_len"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":65,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":96,"debug_name":"store_local"},"args":[{"id":10,"debug_name":null},{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"u32_overflowing_sub"},"args":[{"id":51,"debug_name":null},{"id":58,"debug_name":null},{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null},{"id":61,"debug_name":null}]},{"target":{"Statement":270},"results":[{"id":62,"debug_name":null},{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":36,"debug_name":"array_get"},"args":[{"id":60,"debug_name":null},{"id":55,"debug_name":null},{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null},{"id":65,"debug_name":null}]},{"target":{"Statement":247},"results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":95,"debug_name":"store_temp>"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":35,"debug_name":"unbox"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":67,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":68,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":68,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":96,"debug_name":"store_local"},"args":[{"id":14,"debug_name":null},{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":66,"debug_name":"dup"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null},{"id":69,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":67,"debug_name":"rename"},"args":[{"id":69,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":70,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":98,"debug_name":"store_temp"},"args":[{"id":70,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":70,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":34,"debug_name":"function_call"},"args":[{"id":64,"debug_name":null},{"id":1,"debug_name":null},{"id":70,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null},{"id":21,"debug_name":null},{"id":71,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":99,"debug_name":"store_local"},"args":[{"id":20,"debug_name":null},{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":100,"debug_name":"store_local"},"args":[{"id":22,"debug_name":null},{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":33,"debug_name":"enum_match>"},"args":[{"id":71,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]},{"target":{"Statement":232},"results":[{"id":72,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":73,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":75,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"store_temp>"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":74,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":73,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":73,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":75,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":75,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":102,"debug_name":"store_local>"},"args":[{"id":8,"debug_name":null},{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":32,"debug_name":"function_call"},"args":[{"id":56,"debug_name":null},{"id":74,"debug_name":null},{"id":73,"debug_name":null},{"id":75,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":76,"debug_name":null},{"id":77,"debug_name":null},{"id":17,"debug_name":null},{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"drop>"},"args":[{"id":76,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":78,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":77,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":79,"debug_name":null},{"id":80,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":79,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":80,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":81,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":78,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":78,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":103,"debug_name":"store_local>"},"args":[{"id":18,"debug_name":null},{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":103,"debug_name":"store_local>"},"args":[{"id":16,"debug_name":null},{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"function_call"},"args":[{"id":81,"debug_name":null},{"id":78,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":82,"debug_name":null},{"id":83,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":82,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":83,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":84,"debug_name":null},{"id":85,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":84,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":69,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":86,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":87,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":85,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":88,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":31,"debug_name":"struct_construct"},"args":[{"id":86,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":89,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":88,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":88,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":89,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":89,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":87,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":87,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":103,"debug_name":"store_local>"},"args":[{"id":12,"debug_name":null},{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":30,"debug_name":"function_call"},"args":[{"id":19,"debug_name":null},{"id":21,"debug_name":null},{"id":88,"debug_name":null},{"id":89,"debug_name":null},{"id":87,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":5,"debug_name":null},{"id":90,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":99,"debug_name":"store_local"},"args":[{"id":4,"debug_name":null},{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":100,"debug_name":"store_local"},"args":[{"id":6,"debug_name":null},{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":29,"debug_name":"enum_match>"},"args":[{"id":90,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":91,"debug_name":null}]},{"target":{"Statement":220},"results":[{"id":92,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":66,"debug_name":"dup"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null},{"id":93,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"struct_deconstruct"},"args":[{"id":93,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":94,"debug_name":null},{"id":95,"debug_name":null},{"id":96,"debug_name":null},{"id":97,"debug_name":null},{"id":98,"debug_name":null},{"id":99,"debug_name":null},{"id":100,"debug_name":null},{"id":101,"debug_name":null},{"id":102,"debug_name":null},{"id":103,"debug_name":null},{"id":104,"debug_name":null},{"id":105,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":95,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":96,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":97,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":98,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":99,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":100,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":101,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":102,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":103,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":104,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":105,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":94,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":106,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":66,"debug_name":"dup"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null},{"id":107,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"struct_deconstruct"},"args":[{"id":107,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":108,"debug_name":null},{"id":109,"debug_name":null},{"id":110,"debug_name":null},{"id":111,"debug_name":null},{"id":112,"debug_name":null},{"id":113,"debug_name":null},{"id":114,"debug_name":null},{"id":115,"debug_name":null},{"id":116,"debug_name":null},{"id":117,"debug_name":null},{"id":118,"debug_name":null},{"id":119,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":108,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":110,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":111,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":112,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":113,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":114,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":115,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":116,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":117,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":118,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":119,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":109,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":120,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"struct_deconstruct"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":121,"debug_name":null},{"id":122,"debug_name":null},{"id":123,"debug_name":null},{"id":124,"debug_name":null},{"id":125,"debug_name":null},{"id":126,"debug_name":null},{"id":127,"debug_name":null},{"id":128,"debug_name":null},{"id":129,"debug_name":null},{"id":130,"debug_name":null},{"id":131,"debug_name":null},{"id":132,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":121,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":122,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":124,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":125,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":126,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":127,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":128,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":129,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":130,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":131,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":132,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":123,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":133,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"struct_deconstruct"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":134,"debug_name":null},{"id":135,"debug_name":null},{"id":136,"debug_name":null},{"id":137,"debug_name":null},{"id":138,"debug_name":null},{"id":139,"debug_name":null},{"id":140,"debug_name":null},{"id":141,"debug_name":null},{"id":142,"debug_name":null},{"id":143,"debug_name":null},{"id":144,"debug_name":null},{"id":145,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":134,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":135,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":136,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":138,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":139,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":140,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":141,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":142,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":143,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":144,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":145,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":137,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":146,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":27,"debug_name":"struct_deconstruct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":147,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":26,"debug_name":"struct_deconstruct>"},"args":[{"id":91,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":148,"debug_name":null},{"id":149,"debug_name":null},{"id":150,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":149,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":150,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"struct_deconstruct"},"args":[{"id":148,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":151,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":57,"debug_name":"snapshot_take>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":152,"debug_name":null},{"id":153,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":152,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":57,"debug_name":"snapshot_take>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":154,"debug_name":null},{"id":155,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":154,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":153,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":156,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":155,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":157,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":23,"debug_name":"struct_construct"},"args":[{"id":106,"debug_name":null},{"id":147,"debug_name":null},{"id":120,"debug_name":null},{"id":133,"debug_name":null},{"id":146,"debug_name":null},{"id":151,"debug_name":null},{"id":156,"debug_name":null},{"id":157,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":158,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":73,"debug_name":"snapshot_take"},"args":[{"id":158,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":159,"debug_name":null},{"id":160,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":74,"debug_name":"drop"},"args":[{"id":159,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":105,"debug_name":"store_temp"},"args":[{"id":160,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":160,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":22,"debug_name":"function_call"},"args":[{"id":160,"debug_name":null},{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":161,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":21,"debug_name":"struct_construct>>"},"args":[{"id":161,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":162,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":20,"debug_name":"enum_init,)>, 0>"},"args":[{"id":162,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":163,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":163,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":163,"debug_name":null}]}]}},{"Return":[{"id":3,"debug_name":null},{"id":5,"debug_name":null},{"id":163,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":58,"debug_name":"drop>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":76,"debug_name":"drop>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"drop"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_init,)>, 1>"},"args":[{"id":92,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":164,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":164,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":164,"debug_name":null}]}]}},{"Return":[{"id":3,"debug_name":null},{"id":5,"debug_name":null},{"id":164,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"drop>"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"drop"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"drop>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_init,)>, 1>"},"args":[{"id":72,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":165,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":165,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":165,"debug_name":null}]}]}},{"Return":[{"id":19,"debug_name":null},{"id":21,"debug_name":null},{"id":165,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"drop>"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"drop"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"drop>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":166,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":167,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":167,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":167,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":166,"debug_name":null},{"id":167,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":168,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":169,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":169,"debug_name":null},{"id":168,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":170,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_init,)>, 1>"},"args":[{"id":170,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":171,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":171,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":171,"debug_name":null}]}]}},{"Return":[{"id":66,"debug_name":null},{"id":1,"debug_name":null},{"id":171,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"drop>"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":75,"debug_name":"drop"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"drop>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":83,"debug_name":"drop>>"},"args":[{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":172,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":84,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":173,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":173,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":173,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":172,"debug_name":null},{"id":173,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":174,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":175,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":175,"debug_name":null},{"id":174,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":176,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_init,)>, 1>"},"args":[{"id":176,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":177,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":177,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":177,"debug_name":null}]}]}},{"Return":[{"id":62,"debug_name":null},{"id":1,"debug_name":null},{"id":177,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"drop>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"drop>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":178,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":179,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":179,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":179,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":178,"debug_name":null},{"id":179,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":180,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":181,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":181,"debug_name":null},{"id":180,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":182,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_init,)>, 1>"},"args":[{"id":182,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":183,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":183,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":183,"debug_name":null}]}]}},{"Return":[{"id":53,"debug_name":null},{"id":1,"debug_name":null},{"id":183,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"drop>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":85,"debug_name":"drop>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":184,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":365},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"drop>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":85,"debug_name":"drop>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_init,)>, 1>"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":185,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":185,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":185,"debug_name":null}]}]}},{"Return":[{"id":41,"debug_name":null},{"id":1,"debug_name":null},{"id":185,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":85,"debug_name":"drop>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":80,"debug_name":"drop>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":79,"debug_name":"drop>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":81,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":184,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":186,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":87,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":187,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":187,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":187,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":186,"debug_name":null},{"id":187,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":188,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":189,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":189,"debug_name":null},{"id":188,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":190,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":15,"debug_name":"enum_init,)>, 1>"},"args":[{"id":190,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":191,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":184,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":184,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":106,"debug_name":"store_temp,)>>"},"args":[{"id":191,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":191,"debug_name":null}]}]}},{"Return":[{"id":184,"debug_name":null},{"id":1,"debug_name":null},{"id":191,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":116,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":384},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":115,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":389},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":114,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":113,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]},{"target":{"Statement":415},"results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"rename"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null},{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"dup"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null},{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":110,"debug_name":"felt252_sub"},"args":[{"id":16,"debug_name":null},{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":109,"debug_name":"felt252_is_zero"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":408},"results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Return":[{"id":11,"debug_name":null},{"id":22,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"drop>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":0,"debug_name":"function_call"},"args":[{"id":11,"debug_name":null},{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]}]}},{"Return":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Return":[{"id":11,"debug_name":null},{"id":26,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":124,"debug_name":"array_snapshot_pop_back"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":431},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":115,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":436},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":114,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":113,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]},{"target":{"Statement":462},"results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"rename"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null},{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"dup"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null},{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":110,"debug_name":"felt252_sub"},"args":[{"id":16,"debug_name":null},{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":109,"debug_name":"felt252_is_zero"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":455},"results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Return":[{"id":11,"debug_name":null},{"id":22,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"drop>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":7,"debug_name":"function_call"},"args":[{"id":11,"debug_name":null},{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]}]}},{"Return":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Return":[{"id":11,"debug_name":null},{"id":26,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":128,"debug_name":"alloc_local>>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":129,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":56,"debug_name":"finalize_locals"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":116,"debug_name":"array_snapshot_pop_front"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":8,"debug_name":null}]},{"target":{"Statement":481},"results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":115,"debug_name":"enum_init>, 0>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":486},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":114,"debug_name":"enum_init>, 1>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":133,"debug_name":"store_local>>"},"args":[{"id":3,"debug_name":null},{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":113,"debug_name":"enum_match>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]},{"target":{"Statement":546},"results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null},{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":134,"debug_name":"store_local"},"args":[{"id":5,"debug_name":null},{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":130,"debug_name":"dup"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"snapshot_take"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":0,"debug_name":"function_call"},"args":[{"id":25,"debug_name":null},{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null},{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]},{"target":{"Statement":512},"results":[{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":131,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"function_call"},"args":[{"id":14,"debug_name":null},{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null},{"id":31,"debug_name":null}]}]}},{"Return":[{"id":30,"debug_name":null},{"id":31,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":130,"debug_name":"dup"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":2,"debug_name":"snapshot_take"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null},{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null},{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":7,"debug_name":"function_call"},"args":[{"id":38,"debug_name":null},{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null},{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]},{"target":{"Statement":529},"results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":536},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":130,"debug_name":"dup"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null},{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null},{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":126,"debug_name":"struct_construct"},"args":[{"id":50,"debug_name":null},{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":136,"debug_name":"store_temp"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":125,"debug_name":"array_append"},"args":[{"id":17,"debug_name":null},{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":9,"debug_name":"function_call"},"args":[{"id":14,"debug_name":null},{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null},{"id":54,"debug_name":null}]}]}},{"Return":[{"id":53,"debug_name":null},{"id":54,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":132,"debug_name":"drop>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Return":[{"id":14,"debug_name":null},{"id":1,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":109,"debug_name":"felt252_is_zero"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":563},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":146,"debug_name":"enum_init>, 0>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":139,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":1,"debug_name":null},{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":8,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"drop>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":145,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null},{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":144,"debug_name":"enum_match, core::option::Option::)>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":591},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":143,"debug_name":"struct_deconstruct, core::option::Option::>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null},{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":142,"debug_name":"enum_match>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]},{"target":{"Statement":582},"results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":141,"debug_name":"array_append"},"args":[{"id":2,"debug_name":null},{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":147,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":110,"debug_name":"felt252_sub"},"args":[{"id":3,"debug_name":null},{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"store_temp>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":42,"debug_name":"function_call>"},"args":[{"id":9,"debug_name":null},{"id":13,"debug_name":null},{"id":17,"debug_name":null},{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Return":[{"id":20,"debug_name":null},{"id":21,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":140,"debug_name":"enum_init>, 1>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":139,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":13,"debug_name":null},{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":138,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Return":[{"id":9,"debug_name":null},{"id":24,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":68,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":137,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":148,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Return":[{"id":9,"debug_name":null},{"id":25,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"struct_deconstruct"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null},{"id":5,"debug_name":null},{"id":6,"debug_name":null},{"id":7,"debug_name":null},{"id":8,"debug_name":null},{"id":9,"debug_name":null},{"id":10,"debug_name":null},{"id":11,"debug_name":null},{"id":12,"debug_name":null},{"id":13,"debug_name":null},{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":1,"debug_name":null},{"id":3,"debug_name":null},{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null},{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":15,"debug_name":null},{"id":16,"debug_name":null},{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null},{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":17,"debug_name":null},{"id":18,"debug_name":null},{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null},{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":31,"debug_name":"struct_construct"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":154,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":19,"debug_name":null},{"id":7,"debug_name":null},{"id":21,"debug_name":null},{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null},{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":153,"debug_name":"enum_match>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]},{"target":{"Statement":686},"results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":152,"debug_name":"struct_deconstruct>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null},{"id":29,"debug_name":null},{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":157,"debug_name":"store_temp>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":155,"debug_name":"function_call"},"args":[{"id":23,"debug_name":null},{"id":24,"debug_name":null},{"id":8,"debug_name":null},{"id":31,"debug_name":null},{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null},{"id":33,"debug_name":null},{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":153,"debug_name":"enum_match>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]},{"target":{"Statement":678},"results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":152,"debug_name":"struct_deconstruct>"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null},{"id":38,"debug_name":null},{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":154,"debug_name":"function_call"},"args":[{"id":32,"debug_name":null},{"id":33,"debug_name":null},{"id":9,"debug_name":null},{"id":40,"debug_name":null},{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null},{"id":42,"debug_name":null},{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":153,"debug_name":"enum_match>"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]},{"target":{"Statement":671},"results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":152,"debug_name":"struct_deconstruct>"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null},{"id":47,"debug_name":null},{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":154,"debug_name":"function_call"},"args":[{"id":41,"debug_name":null},{"id":42,"debug_name":null},{"id":10,"debug_name":null},{"id":49,"debug_name":null},{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null},{"id":51,"debug_name":null},{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":153,"debug_name":"enum_match>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]},{"target":{"Statement":665},"results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":152,"debug_name":"struct_deconstruct>"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null},{"id":56,"debug_name":null},{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"struct_deconstruct"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":151,"debug_name":"struct_construct>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":150,"debug_name":"enum_init, 0>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":158,"debug_name":"store_temp>"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Return":[{"id":50,"debug_name":null},{"id":51,"debug_name":null},{"id":60,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":149,"debug_name":"enum_init, 1>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":158,"debug_name":"store_temp>"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Return":[{"id":50,"debug_name":null},{"id":51,"debug_name":null},{"id":61,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":149,"debug_name":"enum_init, 1>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":158,"debug_name":"store_temp>"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Return":[{"id":41,"debug_name":null},{"id":42,"debug_name":null},{"id":62,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":149,"debug_name":"enum_init, 1>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":158,"debug_name":"store_temp>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Return":[{"id":32,"debug_name":null},{"id":33,"debug_name":null},{"id":63,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":149,"debug_name":"enum_init, 1>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":158,"debug_name":"store_temp>"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Return":[{"id":23,"debug_name":null},{"id":24,"debug_name":null},{"id":64,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":55,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":164,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":54,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":165,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":165,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":56,"debug_name":"finalize_locals"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":163,"debug_name":"array_pop_front"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null},{"id":15,"debug_name":null}]},{"target":{"Statement":709},"results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":35,"debug_name":"unbox"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":162,"debug_name":"enum_init, 0>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"store_temp>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":168,"debug_name":"store_temp>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":714},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"store_temp>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":168,"debug_name":"store_temp>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":93,"debug_name":"store_local>"},"args":[{"id":5,"debug_name":null},{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":142,"debug_name":"enum_match>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]},{"target":{"Statement":746},"results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":28,"debug_name":"struct_deconstruct"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null},{"id":25,"debug_name":null},{"id":26,"debug_name":null},{"id":27,"debug_name":null},{"id":28,"debug_name":null},{"id":29,"debug_name":null},{"id":30,"debug_name":null},{"id":31,"debug_name":null},{"id":12,"debug_name":null},{"id":10,"debug_name":null},{"id":32,"debug_name":null},{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":169,"debug_name":"store_local>"},"args":[{"id":13,"debug_name":null},{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":169,"debug_name":"store_local>"},"args":[{"id":11,"debug_name":null},{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":160,"debug_name":"function_call::append_span::, dojo_os::KeyValueDrop>>"},"args":[{"id":2,"debug_name":null},{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":170,"debug_name":"store_local>"},"args":[{"id":7,"debug_name":null},{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":159,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"args":[{"id":1,"debug_name":null},{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":103,"debug_name":"store_local>"},"args":[{"id":9,"debug_name":null},{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":159,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"args":[{"id":3,"debug_name":null},{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"store_temp>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":32,"debug_name":"function_call"},"args":[{"id":4,"debug_name":null},{"id":8,"debug_name":null},{"id":6,"debug_name":null},{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null},{"id":36,"debug_name":null},{"id":37,"debug_name":null},{"id":38,"debug_name":null}]}]}},{"Return":[{"id":35,"debug_name":null},{"id":36,"debug_name":null},{"id":37,"debug_name":null},{"id":38,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":166,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":77,"debug_name":"drop>>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":92,"debug_name":"store_temp>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Return":[{"id":4,"debug_name":null},{"id":2,"debug_name":null},{"id":1,"debug_name":null},{"id":3,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":177,"debug_name":"array_len"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":176,"debug_name":"u32_eq"},"args":[{"id":8,"debug_name":null},{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":851},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":175,"debug_name":"array_get"},"args":[{"id":0,"debug_name":null},{"id":10,"debug_name":null},{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null},{"id":13,"debug_name":null}]},{"target":{"Statement":836},"results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":181,"debug_name":"store_temp>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null},{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"struct_deconstruct"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":1,"debug_name":null},{"id":19,"debug_name":null},{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":175,"debug_name":"array_get"},"args":[{"id":12,"debug_name":null},{"id":23,"debug_name":null},{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null},{"id":26,"debug_name":null}]},{"target":{"Statement":821},"results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":181,"debug_name":"store_temp>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null},{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":20,"debug_name":null},{"id":21,"debug_name":null},{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null},{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":65,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":174,"debug_name":"u32_overflowing_add"},"args":[{"id":25,"debug_name":null},{"id":4,"debug_name":null},{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null},{"id":36,"debug_name":null}]},{"target":{"Statement":806},"results":[{"id":37,"debug_name":null},{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":31,"debug_name":"struct_construct"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":30,"debug_name":"function_call"},"args":[{"id":35,"debug_name":null},{"id":32,"debug_name":null},{"id":2,"debug_name":null},{"id":39,"debug_name":null},{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null},{"id":41,"debug_name":null},{"id":42,"debug_name":null}]}]}},{"Return":[{"id":40,"debug_name":null},{"id":41,"debug_name":null},{"id":42,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":179,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":43,"debug_name":null},{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":46,"debug_name":null},{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":173,"debug_name":"enum_init, 1>"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":182,"debug_name":"store_temp>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Return":[{"id":37,"debug_name":null},{"id":32,"debug_name":null},{"id":48,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":49,"debug_name":null},{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":52,"debug_name":null},{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":173,"debug_name":"enum_init, 1>"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":182,"debug_name":"store_temp>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Return":[{"id":27,"debug_name":null},{"id":20,"debug_name":null},{"id":54,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":180,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":55,"debug_name":null},{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":58,"debug_name":null},{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":173,"debug_name":"enum_init, 1>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":182,"debug_name":"store_temp>"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Return":[{"id":14,"debug_name":null},{"id":1,"debug_name":null},{"id":60,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":172,"debug_name":"struct_construct>"},"args":[{"id":3,"debug_name":null},{"id":4,"debug_name":null},{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":171,"debug_name":"enum_init, 0>"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":182,"debug_name":"store_temp>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":1,"debug_name":null},{"id":63,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":188,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null},{"id":5,"debug_name":null},{"id":6,"debug_name":null},{"id":7,"debug_name":null},{"id":8,"debug_name":null},{"id":9,"debug_name":null},{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":1,"debug_name":null},{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":188,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null},{"id":15,"debug_name":null},{"id":16,"debug_name":null},{"id":17,"debug_name":null},{"id":18,"debug_name":null},{"id":19,"debug_name":null},{"id":20,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":12,"debug_name":null},{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":188,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null},{"id":26,"debug_name":null},{"id":27,"debug_name":null},{"id":28,"debug_name":null},{"id":29,"debug_name":null},{"id":30,"debug_name":null},{"id":31,"debug_name":null},{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":23,"debug_name":null},{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":188,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null},{"id":37,"debug_name":null},{"id":38,"debug_name":null},{"id":39,"debug_name":null},{"id":40,"debug_name":null},{"id":41,"debug_name":null},{"id":42,"debug_name":null},{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":34,"debug_name":null},{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":188,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null},{"id":48,"debug_name":null},{"id":49,"debug_name":null},{"id":50,"debug_name":null},{"id":51,"debug_name":null},{"id":52,"debug_name":null},{"id":53,"debug_name":null},{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":45,"debug_name":null},{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":188,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null},{"id":59,"debug_name":null},{"id":60,"debug_name":null},{"id":61,"debug_name":null},{"id":62,"debug_name":null},{"id":63,"debug_name":null},{"id":64,"debug_name":null},{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":56,"debug_name":null},{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":188,"debug_name":"dup"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null},{"id":68,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":68,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":69,"debug_name":null},{"id":70,"debug_name":null},{"id":71,"debug_name":null},{"id":72,"debug_name":null},{"id":73,"debug_name":null},{"id":74,"debug_name":null},{"id":75,"debug_name":null},{"id":76,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":69,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":70,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":71,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":72,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":73,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":74,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":76,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":189,"debug_name":"dup>"},"args":[{"id":75,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":75,"debug_name":null},{"id":77,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":190,"debug_name":"rename>"},"args":[{"id":77,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":78,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":78,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":79,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":185,"debug_name":"array_len"},"args":[{"id":79,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":80,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":184,"debug_name":"u32_to_felt252"},"args":[{"id":80,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":81,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":67,"debug_name":null},{"id":81,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":82,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":190,"debug_name":"rename>"},"args":[{"id":75,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":83,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":83,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":83,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":82,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":82,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":183,"debug_name":"function_call>"},"args":[{"id":83,"debug_name":null},{"id":82,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":84,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":187,"debug_name":"struct_deconstruct"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":85,"debug_name":null},{"id":86,"debug_name":null},{"id":87,"debug_name":null},{"id":88,"debug_name":null},{"id":89,"debug_name":null},{"id":90,"debug_name":null},{"id":91,"debug_name":null},{"id":92,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":85,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":86,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":87,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":88,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":89,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":90,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":91,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":189,"debug_name":"dup>"},"args":[{"id":92,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":92,"debug_name":null},{"id":93,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":190,"debug_name":"rename>"},"args":[{"id":93,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":94,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":94,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":95,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":185,"debug_name":"array_len"},"args":[{"id":95,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":96,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":184,"debug_name":"u32_to_felt252"},"args":[{"id":96,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":97,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":97,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":97,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":84,"debug_name":null},{"id":97,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":98,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":190,"debug_name":"rename>"},"args":[{"id":92,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":99,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":99,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":99,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":98,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":98,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":183,"debug_name":"function_call>"},"args":[{"id":99,"debug_name":null},{"id":98,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":100,"debug_name":null}]}]}},{"Return":[{"id":100,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":220,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":220,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":220,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":50,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":165,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":165,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":221,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":221,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":222,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":221,"debug_name":"alloc_local>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":220,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":56,"debug_name":"finalize_locals"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null},{"id":26,"debug_name":null}]},{"target":{"Statement":989},"results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":994},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]},{"target":{"Statement":1560},"results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":228,"debug_name":"store_local"},"args":[{"id":7,"debug_name":null},{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null},{"id":37,"debug_name":null}]},{"target":{"Statement":1005},"results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1010},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]},{"target":{"Statement":1541},"results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":228,"debug_name":"store_local"},"args":[{"id":5,"debug_name":null},{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null},{"id":48,"debug_name":null}]},{"target":{"Statement":1021},"results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1026},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]},{"target":{"Statement":1522},"results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":228,"debug_name":"store_local"},"args":[{"id":3,"debug_name":null},{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null},{"id":59,"debug_name":null}]},{"target":{"Statement":1037},"results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1042},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":67,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]},{"target":{"Statement":1503},"results":[{"id":68,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":228,"debug_name":"store_local"},"args":[{"id":23,"debug_name":null},{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":69,"debug_name":null},{"id":70,"debug_name":null}]},{"target":{"Statement":1051},"results":[{"id":71,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":70,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":72,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":69,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":73,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":72,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1056},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":75,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":75,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":76,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":71,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":73,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":76,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":74,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":74,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":77,"debug_name":null}]},{"target":{"Statement":1082},"results":[{"id":78,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":77,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":79,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":80,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":73,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":79,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":82,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":81,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":81,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":80,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":80,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":82,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":82,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":212,"debug_name":"function_call>"},"args":[{"id":81,"debug_name":null},{"id":80,"debug_name":null},{"id":82,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":83,"debug_name":null},{"id":84,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":211,"debug_name":"enum_match>>"},"args":[{"id":84,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":85,"debug_name":null}]},{"target":{"Statement":1076},"results":[{"id":86,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":85,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":87,"debug_name":null},{"id":88,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":87,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":88,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":89,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":210,"debug_name":"enum_init>, 0>"},"args":[{"id":89,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":90,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":83,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":91,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":91,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":92,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":90,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":93,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1088},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":86,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":94,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":83,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":95,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":95,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":92,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":94,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":93,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1088},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":78,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":96,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":96,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":97,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":73,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":92,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":97,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":93,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":208,"debug_name":"enum_match>>"},"args":[{"id":93,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]},{"target":{"Statement":1484},"results":[{"id":98,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":230,"debug_name":"store_local>"},"args":[{"id":21,"debug_name":null},{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":92,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":99,"debug_name":null},{"id":100,"debug_name":null}]},{"target":{"Statement":1097},"results":[{"id":101,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":100,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":102,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":99,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":103,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":102,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":104,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1102},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":105,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":105,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":106,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":101,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":103,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":106,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":104,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":104,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":107,"debug_name":null}]},{"target":{"Statement":1128},"results":[{"id":108,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":107,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":109,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":219,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":110,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":103,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":111,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":109,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":112,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":111,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":111,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":231,"debug_name":"store_temp>"},"args":[{"id":110,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":110,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":112,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":112,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":218,"debug_name":"function_call>"},"args":[{"id":111,"debug_name":null},{"id":110,"debug_name":null},{"id":112,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":113,"debug_name":null},{"id":114,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":217,"debug_name":"enum_match>>"},"args":[{"id":114,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":115,"debug_name":null}]},{"target":{"Statement":1122},"results":[{"id":116,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":223,"debug_name":"snapshot_take>"},"args":[{"id":115,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":117,"debug_name":null},{"id":118,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":224,"debug_name":"drop>"},"args":[{"id":117,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":216,"debug_name":"struct_construct>"},"args":[{"id":118,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":119,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":215,"debug_name":"enum_init>, 0>"},"args":[{"id":119,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":120,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":113,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":121,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":121,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":122,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":232,"debug_name":"store_temp>>"},"args":[{"id":120,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":123,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1134},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":214,"debug_name":"enum_init>, 1>"},"args":[{"id":116,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":124,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":113,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":125,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":125,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":122,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":232,"debug_name":"store_temp>>"},"args":[{"id":124,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":123,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1134},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":108,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":126,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":214,"debug_name":"enum_init>, 1>"},"args":[{"id":126,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":127,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":103,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":122,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":232,"debug_name":"store_temp>>"},"args":[{"id":127,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":123,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":213,"debug_name":"enum_match>>"},"args":[{"id":123,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]},{"target":{"Statement":1465},"results":[{"id":128,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":233,"debug_name":"store_local>"},"args":[{"id":19,"debug_name":null},{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":122,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":129,"debug_name":null},{"id":130,"debug_name":null}]},{"target":{"Statement":1143},"results":[{"id":131,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":130,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":132,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":129,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":133,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":132,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":134,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1148},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":135,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":135,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":136,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":131,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":133,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":136,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":134,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":134,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":137,"debug_name":null}]},{"target":{"Statement":1174},"results":[{"id":138,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":137,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":139,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":140,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":133,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":141,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":139,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":142,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":141,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":141,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":140,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":140,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":142,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":142,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":212,"debug_name":"function_call>"},"args":[{"id":141,"debug_name":null},{"id":140,"debug_name":null},{"id":142,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":143,"debug_name":null},{"id":144,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":211,"debug_name":"enum_match>>"},"args":[{"id":144,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":145,"debug_name":null}]},{"target":{"Statement":1168},"results":[{"id":146,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":145,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":147,"debug_name":null},{"id":148,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":147,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":148,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":149,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":210,"debug_name":"enum_init>, 0>"},"args":[{"id":149,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":150,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":143,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":151,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":151,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":152,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":150,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":153,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1180},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":146,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":154,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":143,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":155,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":155,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":152,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":154,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":153,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1180},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":138,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":156,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":156,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":157,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":133,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":152,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":157,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":153,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":208,"debug_name":"enum_match>>"},"args":[{"id":153,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]},{"target":{"Statement":1446},"results":[{"id":158,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":230,"debug_name":"store_local>"},"args":[{"id":17,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":152,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":159,"debug_name":null},{"id":160,"debug_name":null}]},{"target":{"Statement":1189},"results":[{"id":161,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":160,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":162,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":159,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":163,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":162,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":164,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1194},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":165,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":165,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":166,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":161,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":163,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":166,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":164,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":164,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":167,"debug_name":null}]},{"target":{"Statement":1220},"results":[{"id":168,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":167,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":169,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":170,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":163,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":171,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":169,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":172,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":171,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":171,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":170,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":170,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":172,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":172,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":212,"debug_name":"function_call>"},"args":[{"id":171,"debug_name":null},{"id":170,"debug_name":null},{"id":172,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":173,"debug_name":null},{"id":174,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":211,"debug_name":"enum_match>>"},"args":[{"id":174,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":175,"debug_name":null}]},{"target":{"Statement":1214},"results":[{"id":176,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":175,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":177,"debug_name":null},{"id":178,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":177,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":178,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":179,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":210,"debug_name":"enum_init>, 0>"},"args":[{"id":179,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":180,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":173,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":181,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":181,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":182,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":180,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":183,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1226},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":176,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":184,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":173,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":185,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":185,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":182,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":184,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":183,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1226},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":168,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":186,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":186,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":187,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":163,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":182,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":187,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":183,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":182,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":188,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":208,"debug_name":"enum_match>>"},"args":[{"id":183,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]},{"target":{"Statement":1428},"results":[{"id":189,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":188,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":188,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":198,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null},{"id":188,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":190,"debug_name":null},{"id":191,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":230,"debug_name":"store_local>"},"args":[{"id":15,"debug_name":null},{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":197,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":191,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":192,"debug_name":null}]},{"target":{"Statement":1412},"results":[{"id":193,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":196,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":192,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":194,"debug_name":null},{"id":195,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":195,"debug_name":"enum_match>>"},"args":[{"id":195,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]},{"target":{"Statement":1394},"results":[{"id":196,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":190,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":190,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":194,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":194,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":198,"debug_name":"function_call"},"args":[{"id":190,"debug_name":null},{"id":194,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null},{"id":197,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":169,"debug_name":"store_local>"},"args":[{"id":13,"debug_name":null},{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":99,"debug_name":"store_local"},"args":[{"id":9,"debug_name":null},{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":197,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":197,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":198,"debug_name":null}]},{"target":{"Statement":1379},"results":[{"id":199,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":196,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":198,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":200,"debug_name":null},{"id":201,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":195,"debug_name":"enum_match>>"},"args":[{"id":201,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]},{"target":{"Statement":1362},"results":[{"id":202,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":200,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":203,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":169,"debug_name":"store_local>"},"args":[{"id":11,"debug_name":null},{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":203,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":204,"debug_name":null},{"id":205,"debug_name":null}]},{"target":{"Statement":1256},"results":[{"id":206,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":205,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":207,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":204,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":208,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":207,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":209,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1261},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":210,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":210,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":211,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":206,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":208,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":211,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":209,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":209,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":212,"debug_name":null}]},{"target":{"Statement":1287},"results":[{"id":213,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":212,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":214,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":215,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":208,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":216,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":214,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":217,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":216,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":216,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":215,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":215,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":217,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":217,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":212,"debug_name":"function_call>"},"args":[{"id":216,"debug_name":null},{"id":215,"debug_name":null},{"id":217,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":218,"debug_name":null},{"id":219,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":211,"debug_name":"enum_match>>"},"args":[{"id":219,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":220,"debug_name":null}]},{"target":{"Statement":1281},"results":[{"id":221,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":220,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":222,"debug_name":null},{"id":223,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":222,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":223,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":224,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":210,"debug_name":"enum_init>, 0>"},"args":[{"id":224,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":225,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":218,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":226,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":226,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":227,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":225,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":228,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1293},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":221,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":229,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":218,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":230,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":230,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":227,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":229,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":228,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1293},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":213,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":231,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":231,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":232,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":208,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":227,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":232,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":228,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":227,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":233,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":208,"debug_name":"enum_match>>"},"args":[{"id":228,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":234,"debug_name":null}]},{"target":{"Statement":1345},"results":[{"id":235,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":233,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":233,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":198,"debug_name":"function_call"},"args":[{"id":8,"debug_name":null},{"id":233,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":236,"debug_name":null},{"id":237,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":197,"debug_name":"enum_match, core::option::Option::>)>>"},"args":[{"id":237,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":238,"debug_name":null}]},{"target":{"Statement":1329},"results":[{"id":239,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":196,"debug_name":"struct_deconstruct, core::option::Option::>>>"},"args":[{"id":238,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":240,"debug_name":null},{"id":241,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":195,"debug_name":"enum_match>>"},"args":[{"id":241,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":242,"debug_name":null}]},{"target":{"Statement":1311},"results":[{"id":243,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":194,"debug_name":"struct_construct"},"args":[{"id":6,"debug_name":null},{"id":4,"debug_name":null},{"id":2,"debug_name":null},{"id":22,"debug_name":null},{"id":20,"debug_name":null},{"id":18,"debug_name":null},{"id":16,"debug_name":null},{"id":14,"debug_name":null},{"id":12,"debug_name":null},{"id":10,"debug_name":null},{"id":234,"debug_name":null},{"id":242,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":244,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":162,"debug_name":"enum_init, 0>"},"args":[{"id":244,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":245,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":240,"debug_name":null},{"id":245,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":246,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":246,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":247,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":236,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":236,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":247,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":247,"debug_name":null}]}]}},{"Return":[{"id":236,"debug_name":null},{"id":247,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":234,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":243,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":248,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":240,"debug_name":null},{"id":248,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":249,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":249,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":250,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":236,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":236,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":250,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":250,"debug_name":null}]}]}},{"Return":[{"id":236,"debug_name":null},{"id":250,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":234,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":193,"debug_name":"enum_init, core::option::Option::)>, 1>"},"args":[{"id":239,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":251,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":236,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":236,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":251,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":251,"debug_name":null}]}]}},{"Return":[{"id":236,"debug_name":null},{"id":251,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":235,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":252,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":233,"debug_name":null},{"id":252,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":253,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":253,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":254,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":254,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":254,"debug_name":null}]}]}},{"Return":[{"id":8,"debug_name":null},{"id":254,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":202,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":255,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":200,"debug_name":null},{"id":255,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":256,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":256,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":257,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":257,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":257,"debug_name":null}]}]}},{"Return":[{"id":8,"debug_name":null},{"id":257,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":193,"debug_name":"enum_init, core::option::Option::)>, 1>"},"args":[{"id":199,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":258,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":258,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":258,"debug_name":null}]}]}},{"Return":[{"id":8,"debug_name":null},{"id":258,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":196,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":259,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":194,"debug_name":null},{"id":259,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":260,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":260,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":261,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":190,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":190,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":261,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":261,"debug_name":null}]}]}},{"Return":[{"id":190,"debug_name":null},{"id":261,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":193,"debug_name":"enum_init, core::option::Option::)>, 1>"},"args":[{"id":193,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":262,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":190,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":190,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":262,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":262,"debug_name":null}]}]}},{"Return":[{"id":190,"debug_name":null},{"id":262,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":189,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":263,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":188,"debug_name":null},{"id":263,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":264,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":264,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":265,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":265,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":265,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":265,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":152,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":266,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":158,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":267,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":266,"debug_name":null},{"id":267,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":268,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":268,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":269,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":269,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":269,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":269,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":226,"debug_name":"drop>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":122,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":270,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":128,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":271,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":270,"debug_name":null},{"id":271,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":272,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":272,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":273,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":273,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":273,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":273,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":226,"debug_name":"drop>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":92,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":274,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":98,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":275,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":274,"debug_name":null},{"id":275,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":276,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":276,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":277,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":277,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":277,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":277,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":226,"debug_name":"drop>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":278,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":68,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":279,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":278,"debug_name":null},{"id":279,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":280,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":280,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":281,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":281,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":281,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":281,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":226,"debug_name":"drop>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":282,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":283,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":282,"debug_name":null},{"id":283,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":284,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":284,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":285,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":285,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":285,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":285,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":226,"debug_name":"drop>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":286,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":287,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":286,"debug_name":null},{"id":287,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":288,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":288,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":289,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":289,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":289,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":289,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":167,"debug_name":"drop>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":226,"debug_name":"drop>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":78,"debug_name":"drop>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":225,"debug_name":"drop>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":290,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":161,"debug_name":"enum_init, 1>"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":291,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":192,"debug_name":"struct_construct, core::option::Option::>>"},"args":[{"id":290,"debug_name":null},{"id":291,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":292,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":191,"debug_name":"enum_init, core::option::Option::)>, 0>"},"args":[{"id":292,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":293,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":234,"debug_name":"store_temp, core::option::Option::)>>"},"args":[{"id":293,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":293,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":293,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":177,"debug_name":"array_len"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":176,"debug_name":"u32_eq"},"args":[{"id":8,"debug_name":null},{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":1673},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":175,"debug_name":"array_get"},"args":[{"id":0,"debug_name":null},{"id":10,"debug_name":null},{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null},{"id":13,"debug_name":null}]},{"target":{"Statement":1658},"results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":181,"debug_name":"store_temp>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":136,"debug_name":"store_temp"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":175,"debug_name":"array_get"},"args":[{"id":12,"debug_name":null},{"id":17,"debug_name":null},{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null},{"id":20,"debug_name":null}]},{"target":{"Statement":1642},"results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":181,"debug_name":"store_temp>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null},{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":1,"debug_name":null},{"id":25,"debug_name":null},{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null},{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"struct_deconstruct"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":29,"debug_name":null},{"id":31,"debug_name":null},{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null},{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":65,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":174,"debug_name":"u32_overflowing_add"},"args":[{"id":19,"debug_name":null},{"id":3,"debug_name":null},{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null},{"id":36,"debug_name":null}]},{"target":{"Statement":1627},"results":[{"id":37,"debug_name":null},{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":31,"debug_name":"struct_construct"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":154,"debug_name":"function_call"},"args":[{"id":35,"debug_name":null},{"id":32,"debug_name":null},{"id":2,"debug_name":null},{"id":36,"debug_name":null},{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null},{"id":41,"debug_name":null},{"id":42,"debug_name":null}]}]}},{"Return":[{"id":40,"debug_name":null},{"id":41,"debug_name":null},{"id":42,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":179,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":43,"debug_name":null},{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":46,"debug_name":null},{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Return":[{"id":37,"debug_name":null},{"id":32,"debug_name":null},{"id":48,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":131,"debug_name":"drop"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":180,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":49,"debug_name":null},{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":52,"debug_name":null},{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":53,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Return":[{"id":21,"debug_name":null},{"id":1,"debug_name":null},{"id":54,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":180,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":55,"debug_name":null},{"id":56,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":58,"debug_name":null},{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Return":[{"id":14,"debug_name":null},{"id":1,"debug_name":null},{"id":60,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":236,"debug_name":"struct_construct>"},"args":[{"id":3,"debug_name":null},{"id":4,"debug_name":null},{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":235,"debug_name":"enum_init, 0>"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":1,"debug_name":null},{"id":63,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":245,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":243,"debug_name":"struct_deconstruct>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":244,"debug_name":"array_len"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":176,"debug_name":"u32_eq"},"args":[{"id":8,"debug_name":null},{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":1761},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":245,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":243,"debug_name":"struct_deconstruct>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":242,"debug_name":"array_get"},"args":[{"id":0,"debug_name":null},{"id":10,"debug_name":null},{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null},{"id":13,"debug_name":null}]},{"target":{"Statement":1746},"results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":248,"debug_name":"store_temp>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":241,"debug_name":"unbox"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":246,"debug_name":"rename"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":240,"debug_name":"struct_deconstruct"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null},{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":239,"debug_name":"function_call"},"args":[{"id":12,"debug_name":null},{"id":1,"debug_name":null},{"id":19,"debug_name":null},{"id":18,"debug_name":null},{"id":4,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null},{"id":21,"debug_name":null},{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":153,"debug_name":"enum_match>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]},{"target":{"Statement":1738},"results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":65,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":174,"debug_name":"u32_overflowing_add"},"args":[{"id":20,"debug_name":null},{"id":3,"debug_name":null},{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null},{"id":27,"debug_name":null}]},{"target":{"Statement":1723},"results":[{"id":28,"debug_name":null},{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":152,"debug_name":"struct_deconstruct>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null},{"id":31,"debug_name":null},{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":157,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":155,"debug_name":"function_call"},"args":[{"id":26,"debug_name":null},{"id":21,"debug_name":null},{"id":2,"debug_name":null},{"id":27,"debug_name":null},{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null},{"id":35,"debug_name":null}]}]}},{"Return":[{"id":33,"debug_name":null},{"id":34,"debug_name":null},{"id":35,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":247,"debug_name":"drop>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":179,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":36,"debug_name":null},{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":39,"debug_name":null},{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Return":[{"id":28,"debug_name":null},{"id":21,"debug_name":null},{"id":41,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Return":[{"id":20,"debug_name":null},{"id":21,"debug_name":null},{"id":42,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":180,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":43,"debug_name":null},{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":46,"debug_name":null},{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Return":[{"id":14,"debug_name":null},{"id":1,"debug_name":null},{"id":48,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":70,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":236,"debug_name":"struct_construct>"},"args":[{"id":3,"debug_name":null},{"id":4,"debug_name":null},{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":235,"debug_name":"enum_init, 0>"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":1,"debug_name":null},{"id":51,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":116,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":1778},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":115,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1783},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":114,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":121,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":122,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":113,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":1794},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":118,"debug_name":"rename"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":136,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":125,"debug_name":"array_append"},"args":[{"id":0,"debug_name":null},{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":160,"debug_name":"function_call::append_span::, dojo_os::KeyValueDrop>>"},"args":[{"id":15,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Return":[{"id":17,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":249,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":1807},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1812},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":1823},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":0,"debug_name":null},{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":159,"debug_name":"function_call::append_span::, core::felt252Drop>>"},"args":[{"id":15,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Return":[{"id":17,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":1836},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1841},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]},{"target":{"Statement":1852},"results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":1,"debug_name":null},{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":183,"debug_name":"function_call>"},"args":[{"id":16,"debug_name":null},{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]}]}},{"Return":[{"id":17,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":101,"debug_name":"store_temp>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Return":[{"id":1,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"dup"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":109,"debug_name":"felt252_is_zero"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":1866},"results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":254,"debug_name":"enum_init>, 0>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":256,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":5,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":8,"debug_name":null}]},{"target":{"Statement":1877},"results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1882},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null}]},{"target":{"Statement":1913},"results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":255,"debug_name":"enable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null},{"id":20,"debug_name":null}]},{"target":{"Statement":1893},"results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1898},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null}]},{"target":{"Statement":1906},"results":[{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":126,"debug_name":"struct_construct"},"args":[{"id":17,"debug_name":null},{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":253,"debug_name":"enum_init, 0>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":257,"debug_name":"store_temp>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1917},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":252,"debug_name":"enum_init, 1>"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":257,"debug_name":"store_temp>"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1917},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":252,"debug_name":"enum_init, 1>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":257,"debug_name":"store_temp>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":251,"debug_name":"enum_match>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]},{"target":{"Statement":1928},"results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":125,"debug_name":"array_append"},"args":[{"id":1,"debug_name":null},{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":147,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":110,"debug_name":"felt252_sub"},"args":[{"id":2,"debug_name":null},{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":212,"debug_name":"function_call>"},"args":[{"id":37,"debug_name":null},{"id":40,"debug_name":null},{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null},{"id":44,"debug_name":null}]}]}},{"Return":[{"id":43,"debug_name":null},{"id":44,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":250,"debug_name":"enum_init>, 1>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":256,"debug_name":"store_temp>>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Return":[{"id":37,"debug_name":null},{"id":45,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"dup"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":109,"debug_name":"felt252_is_zero"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":1944},"results":[{"id":4,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":262,"debug_name":"enum_init>, 0>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":263,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":5,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":120,"debug_name":"drop>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":261,"debug_name":"function_call"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null},{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":260,"debug_name":"enum_match>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]},{"target":{"Statement":1958},"results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":259,"debug_name":"array_append"},"args":[{"id":1,"debug_name":null},{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":147,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":110,"debug_name":"felt252_sub"},"args":[{"id":2,"debug_name":null},{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":231,"debug_name":"store_temp>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":218,"debug_name":"function_call>"},"args":[{"id":6,"debug_name":null},{"id":10,"debug_name":null},{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null},{"id":14,"debug_name":null}]}]}},{"Return":[{"id":13,"debug_name":null},{"id":14,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":224,"debug_name":"drop>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":258,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":263,"debug_name":"store_temp>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Return":[{"id":6,"debug_name":null},{"id":15,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":4,"debug_name":null}]},{"target":{"Statement":1972},"results":[{"id":5,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":1977},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":206,"debug_name":"dup>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]},{"target":{"Statement":2059},"results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":205,"debug_name":"u32_try_from_felt252"},"args":[{"id":0,"debug_name":null},{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null},{"id":18,"debug_name":null}]},{"target":{"Statement":2050},"results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":62,"debug_name":"drop>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":64,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":206,"debug_name":"dup>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null},{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":204,"debug_name":"array_slice"},"args":[{"id":17,"debug_name":null},{"id":21,"debug_name":null},{"id":20,"debug_name":null},{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null},{"id":24,"debug_name":null}]},{"target":{"Statement":2037},"results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":206,"debug_name":"dup>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null},{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":185,"debug_name":"array_len"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null},{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":37,"debug_name":"u32_overflowing_sub"},"args":[{"id":23,"debug_name":null},{"id":27,"debug_name":null},{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null},{"id":30,"debug_name":null}]},{"target":{"Statement":2022},"results":[{"id":31,"debug_name":null},{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":204,"debug_name":"array_slice"},"args":[{"id":29,"debug_name":null},{"id":7,"debug_name":null},{"id":18,"debug_name":null},{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null}]},{"target":{"Statement":2010},"results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":203,"debug_name":"enum_init>, 0>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":200,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":38,"debug_name":null},{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":199,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":207,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Return":[{"id":33,"debug_name":null},{"id":40,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":41,"debug_name":null},{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":44,"debug_name":null},{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":202,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":207,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":46,"debug_name":null}]}]}},{"Return":[{"id":35,"debug_name":null},{"id":46,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":84,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":47,"debug_name":null},{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":50,"debug_name":null},{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":202,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":207,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Return":[{"id":31,"debug_name":null},{"id":52,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":53,"debug_name":null},{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":56,"debug_name":null},{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":202,"debug_name":"enum_init, core::option::Option::>)>, 1>"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":207,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Return":[{"id":25,"debug_name":null},{"id":58,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":201,"debug_name":"enum_init>, 1>"},"args":[{"id":59,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":200,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":12,"debug_name":null},{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":199,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":207,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":62,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Return":[{"id":19,"debug_name":null},{"id":62,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":86,"debug_name":"drop>>"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":201,"debug_name":"enum_init>, 1>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":200,"debug_name":"struct_construct, core::option::Option::>>>"},"args":[{"id":12,"debug_name":null},{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":199,"debug_name":"enum_init, core::option::Option::>)>, 0>"},"args":[{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":207,"debug_name":"store_temp, core::option::Option::>)>>"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":66,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":177,"debug_name":"array_len"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null},{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":176,"debug_name":"u32_eq"},"args":[{"id":9,"debug_name":null},{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]},{"target":{"Statement":2171},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null},{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":175,"debug_name":"array_get"},"args":[{"id":0,"debug_name":null},{"id":11,"debug_name":null},{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null},{"id":14,"debug_name":null}]},{"target":{"Statement":2155},"results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":181,"debug_name":"store_temp>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":16,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":17,"debug_name":null},{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":119,"debug_name":"dup"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null},{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":1,"debug_name":null},{"id":20,"debug_name":null},{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null},{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":135,"debug_name":"dup>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null},{"id":23,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":117,"debug_name":"struct_deconstruct>"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":178,"debug_name":"dup"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":5,"debug_name":null},{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":175,"debug_name":"array_get"},"args":[{"id":13,"debug_name":null},{"id":24,"debug_name":null},{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null},{"id":27,"debug_name":null}]},{"target":{"Statement":2138},"results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":181,"debug_name":"store_temp>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":112,"debug_name":"unbox"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":111,"debug_name":"struct_deconstruct"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":30,"debug_name":null},{"id":31,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":21,"debug_name":null},{"id":22,"debug_name":null},{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":25,"debug_name":"struct_deconstruct"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":156,"debug_name":"pedersen"},"args":[{"id":33,"debug_name":null},{"id":35,"debug_name":null},{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null},{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":65,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":174,"debug_name":"u32_overflowing_add"},"args":[{"id":26,"debug_name":null},{"id":5,"debug_name":null},{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null},{"id":40,"debug_name":null}]},{"target":{"Statement":2122},"results":[{"id":41,"debug_name":null},{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":31,"debug_name":"struct_construct"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":5,"debug_name":"store_temp>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":104,"debug_name":"store_temp"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":94,"debug_name":"store_temp"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":239,"debug_name":"function_call"},"args":[{"id":39,"debug_name":null},{"id":36,"debug_name":null},{"id":2,"debug_name":null},{"id":3,"debug_name":null},{"id":43,"debug_name":null},{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null},{"id":45,"debug_name":null},{"id":46,"debug_name":null}]}]}},{"Return":[{"id":44,"debug_name":null},{"id":45,"debug_name":null},{"id":46,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":179,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":47,"debug_name":null},{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":50,"debug_name":null},{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":52,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":52,"debug_name":null}]}]}},{"Return":[{"id":41,"debug_name":null},{"id":36,"debug_name":null},{"id":52,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":180,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":53,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":54,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":53,"debug_name":null},{"id":54,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":55,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":56,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":56,"debug_name":null},{"id":55,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":57,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":57,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":58,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":58,"debug_name":null}]}]}},{"Return":[{"id":28,"debug_name":null},{"id":21,"debug_name":null},{"id":58,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":71,"debug_name":"drop"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":180,"debug_name":"drop"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":19,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":59,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":82,"debug_name":"const_as_immediate>"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":60,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":18,"debug_name":"array_append"},"args":[{"id":59,"debug_name":null},{"id":60,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":61,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":17,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":62,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":16,"debug_name":"struct_construct>>"},"args":[{"id":62,"debug_name":null},{"id":61,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":63,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":237,"debug_name":"enum_init, 1>"},"args":[{"id":63,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":64,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":64,"debug_name":null}]}]}},{"Return":[{"id":15,"debug_name":null},{"id":1,"debug_name":null},{"id":64,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":4,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":65,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":236,"debug_name":"struct_construct>"},"args":[{"id":5,"debug_name":null},{"id":4,"debug_name":null},{"id":65,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":66,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":235,"debug_name":"enum_init, 0>"},"args":[{"id":66,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":90,"debug_name":"store_temp"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":97,"debug_name":"store_temp"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":238,"debug_name":"store_temp>"},"args":[{"id":67,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":67,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null},{"id":1,"debug_name":null},{"id":67,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":220,"debug_name":"alloc_local"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":2,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":56,"debug_name":"finalize_locals"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":1,"debug_name":"disable_ap_tracking"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":3,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":3,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":4,"debug_name":null},{"id":5,"debug_name":null}]},{"target":{"Statement":2193},"results":[{"id":6,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":5,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":7,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":7,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":8,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":108,"debug_name":"enum_init, 0>"},"args":[{"id":8,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":9,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":4,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":9,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":2198},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":12,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":107,"debug_name":"enum_init, 1>"},"args":[{"id":12,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":13,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":6,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":10,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":123,"debug_name":"store_temp>"},"args":[{"id":13,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":11,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":127,"debug_name":"enum_match>"},"args":[{"id":11,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]},{"target":{"Statement":2258},"results":[{"id":14,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":228,"debug_name":"store_local"},"args":[{"id":2,"debug_name":null},{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":1,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":49,"debug_name":"array_snapshot_pop_front"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":15,"debug_name":null},{"id":16,"debug_name":null}]},{"target":{"Statement":2207},"results":[{"id":17,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":48,"debug_name":"enum_init>, 0>"},"args":[{"id":16,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":18,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":15,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":18,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":2212},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":21,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":46,"debug_name":"enum_init>, 1>"},"args":[{"id":21,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":22,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":17,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":19,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":89,"debug_name":"store_temp>>"},"args":[{"id":22,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":20,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":45,"debug_name":"enum_match>>"},"args":[{"id":20,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":23,"debug_name":null}]},{"target":{"Statement":2238},"results":[{"id":24,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":44,"debug_name":"unbox"},"args":[{"id":23,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":25,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":10,"debug_name":"array_new"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":61,"debug_name":"rename"},"args":[{"id":25,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":27,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":27,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":14,"debug_name":"store_temp>"},"args":[{"id":26,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":26,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":6,"debug_name":"store_temp"},"args":[{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":28,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":212,"debug_name":"function_call>"},"args":[{"id":27,"debug_name":null},{"id":26,"debug_name":null},{"id":28,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":29,"debug_name":null},{"id":30,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":211,"debug_name":"enum_match>>"},"args":[{"id":30,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":31,"debug_name":null}]},{"target":{"Statement":2232},"results":[{"id":32,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":12,"debug_name":"snapshot_take>"},"args":[{"id":31,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":33,"debug_name":null},{"id":34,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":13,"debug_name":"drop>"},"args":[{"id":33,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":8,"debug_name":"struct_construct>"},"args":[{"id":34,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":35,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":210,"debug_name":"enum_init>, 0>"},"args":[{"id":35,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":36,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":37,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":37,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":36,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":2244},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":32,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":40,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":186,"debug_name":"struct_deconstruct>"},"args":[{"id":29,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":41,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":41,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":40,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":60,"debug_name":"jump"},"args":[],"branches":[{"target":{"Statement":2244},"results":[]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":72,"debug_name":"drop"},"args":[{"id":24,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":47,"debug_name":"struct_construct"},"args":[],"branches":[{"target":"Fallthrough","results":[{"id":42,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":209,"debug_name":"enum_init>, 1>"},"args":[{"id":42,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":43,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":88,"debug_name":"store_temp>>"},"args":[{"id":19,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":38,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":229,"debug_name":"store_temp>>"},"args":[{"id":43,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":39,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":38,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":208,"debug_name":"enum_match>>"},"args":[{"id":39,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":45,"debug_name":null}]},{"target":{"Statement":2252},"results":[{"id":46,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":266,"debug_name":"struct_construct"},"args":[{"id":1,"debug_name":null},{"id":45,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":47,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":265,"debug_name":"enum_init, 0>"},"args":[{"id":47,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":267,"debug_name":"store_temp>"},"args":[{"id":48,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":48,"debug_name":null}]}]}},{"Return":[{"id":44,"debug_name":null},{"id":48,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":3,"debug_name":"drop"},"args":[{"id":1,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":264,"debug_name":"enum_init, 1>"},"args":[{"id":46,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":44,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":44,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":267,"debug_name":"store_temp>"},"args":[{"id":49,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":49,"debug_name":null}]}]}},{"Return":[{"id":44,"debug_name":null},{"id":49,"debug_name":null}]},{"Invocation":{"libfunc_id":{"id":59,"debug_name":"branch_align"},"args":[],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":227,"debug_name":"drop>"},"args":[{"id":2,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[]}]}},{"Invocation":{"libfunc_id":{"id":24,"debug_name":"struct_construct>"},"args":[{"id":10,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":264,"debug_name":"enum_init, 1>"},"args":[{"id":14,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":91,"debug_name":"store_temp>"},"args":[{"id":50,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":50,"debug_name":null}]}]}},{"Invocation":{"libfunc_id":{"id":267,"debug_name":"store_temp>"},"args":[{"id":51,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":51,"debug_name":null}]}]}},{"Return":[{"id":50,"debug_name":null},{"id":51,"debug_name":null}]}],"funcs":[{"id":{"id":1,"debug_name":"dojo_os::find"},"signature":{"param_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":0,"debug_name":"felt252"}],"ret_types":[{"id":6,"debug_name":"core::option::Option::"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}}],"entry_point":0},{"id":{"id":3,"debug_name":"dojo_os::find_last"},"signature":{"param_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":0,"debug_name":"felt252"}],"ret_types":[{"id":6,"debug_name":"core::option::Option::"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}}],"entry_point":8},{"id":{"id":5,"debug_name":"dojo_os::deduplicate_da"},"signature":{"param_types":[{"id":4,"debug_name":"core::array::Span::"}],"ret_types":[{"id":4,"debug_name":"core::array::Span::"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}}],"entry_point":16},{"id":{"id":11,"debug_name":"dojo_os::main"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":10,"debug_name":"Array"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":36,"debug_name":"core::panics::PanicResult::<(core::array::Array::,)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":9,"debug_name":"Pedersen"}},{"id":{"id":2,"debug_name":null},"ty":{"id":10,"debug_name":"Array"}}],"entry_point":26},{"id":{"id":0,"debug_name":"dojo_os::find[expr20]"},"signature":{"param_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":0,"debug_name":"felt252"}],"ret_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":6,"debug_name":"core::option::Option::"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}}],"entry_point":376},{"id":{"id":2,"debug_name":"dojo_os::find_last[expr20]"},"signature":{"param_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":0,"debug_name":"felt252"}],"ret_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":6,"debug_name":"core::option::Option::"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}}],"entry_point":423},{"id":{"id":4,"debug_name":"dojo_os::deduplicate_da[expr36]"},"signature":{"param_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":2,"debug_name":"Array"}],"ret_types":[{"id":4,"debug_name":"core::array::Span::"},{"id":2,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}}],"entry_point":470},{"id":{"id":10,"debug_name":"core::array::deserialize_array_helper::"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":18,"debug_name":"core::array::Span::"},{"id":20,"debug_name":"Array"},{"id":0,"debug_name":"felt252"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":25,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}},{"id":{"id":2,"debug_name":null},"ty":{"id":20,"debug_name":"Array"}},{"id":{"id":3,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}}],"entry_point":552},{"id":{"id":9,"debug_name":"dojo_os::ProgramInputImpl::hash_new_state"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":19,"debug_name":"dojo_os::ProgramInput"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":30,"debug_name":"core::panics::PanicResult::<(core::felt252,)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":9,"debug_name":"Pedersen"}},{"id":{"id":2,"debug_name":null},"ty":{"id":19,"debug_name":"dojo_os::ProgramInput"}}],"entry_point":598},{"id":{"id":8,"debug_name":"dojo_os::main[expr78]"},"signature":{"param_types":[{"id":20,"debug_name":"Array"},{"id":10,"debug_name":"Array"},{"id":2,"debug_name":"Array"},{"id":10,"debug_name":"Array"}],"ret_types":[{"id":20,"debug_name":"Array"},{"id":2,"debug_name":"Array"},{"id":10,"debug_name":"Array"},{"id":10,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":20,"debug_name":"Array"}},{"id":{"id":1,"debug_name":null},"ty":{"id":10,"debug_name":"Array"}},{"id":{"id":2,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}},{"id":{"id":3,"debug_name":null},"ty":{"id":10,"debug_name":"Array"}}],"entry_point":695},{"id":{"id":7,"debug_name":"dojo_os::ProgramInputImpl::hash_world_da[expr33]"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":4,"debug_name":"core::array::Span::"},{"id":31,"debug_name":"core::pedersen::HashState"},{"id":27,"debug_name":"u32"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":33,"debug_name":"core::panics::PanicResult::<(core::pedersen::HashState, core::integer::u32, ())>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":9,"debug_name":"Pedersen"}},{"id":{"id":2,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":3,"debug_name":null},"ty":{"id":31,"debug_name":"core::pedersen::HashState"}},{"id":{"id":4,"debug_name":null},"ty":{"id":27,"debug_name":"u32"}}],"entry_point":757},{"id":{"id":6,"debug_name":"dojo_os::ProgramOutputSerde::serialize"},"signature":{"param_types":[{"id":34,"debug_name":"dojo_os::ProgramOutput"},{"id":10,"debug_name":"Array"}],"ret_types":[{"id":10,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":34,"debug_name":"dojo_os::ProgramOutput"}},{"id":{"id":1,"debug_name":null},"ty":{"id":10,"debug_name":"Array"}}],"entry_point":860},{"id":{"id":12,"debug_name":"dojo_os::ProgramInputSerde::deserialize"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":18,"debug_name":"core::array::Span::"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":56,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}}],"entry_point":967},{"id":{"id":13,"debug_name":"dojo_os::ProgramInputImpl::hash_dict[expr35]"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":4,"debug_name":"core::array::Span::"},{"id":27,"debug_name":"u32"},{"id":31,"debug_name":"core::pedersen::HashState"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":9,"debug_name":"Pedersen"}},{"id":{"id":2,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":3,"debug_name":null},"ty":{"id":27,"debug_name":"u32"}},{"id":{"id":4,"debug_name":null},"ty":{"id":31,"debug_name":"core::pedersen::HashState"}}],"entry_point":1579},{"id":{"id":14,"debug_name":"dojo_os::ProgramInputImpl::hash_storage_updates[expr62]"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":17,"debug_name":"core::array::Span::"},{"id":27,"debug_name":"u32"},{"id":31,"debug_name":"core::pedersen::HashState"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":9,"debug_name":"Pedersen"}},{"id":{"id":2,"debug_name":null},"ty":{"id":17,"debug_name":"core::array::Span::"}},{"id":{"id":3,"debug_name":null},"ty":{"id":27,"debug_name":"u32"}},{"id":{"id":4,"debug_name":null},"ty":{"id":31,"debug_name":"core::pedersen::HashState"}}],"entry_point":1682},{"id":{"id":16,"debug_name":"core::array::ArrayImpl::::append_span::, dojo_os::KeyValueDrop>"},"signature":{"param_types":[{"id":2,"debug_name":"Array"},{"id":4,"debug_name":"core::array::Span::"}],"ret_types":[{"id":2,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}},{"id":{"id":1,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}}],"entry_point":1770},{"id":{"id":15,"debug_name":"core::array::ArrayImpl::::append_span::, core::felt252Drop>"},"signature":{"param_types":[{"id":10,"debug_name":"Array"},{"id":18,"debug_name":"core::array::Span::"}],"ret_types":[{"id":10,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":10,"debug_name":"Array"}},{"id":{"id":1,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}}],"entry_point":1799},{"id":{"id":17,"debug_name":"core::array::serialize_array_helper::"},"signature":{"param_types":[{"id":18,"debug_name":"core::array::Span::"},{"id":10,"debug_name":"Array"}],"ret_types":[{"id":10,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":10,"debug_name":"Array"}}],"entry_point":1828},{"id":{"id":19,"debug_name":"core::array::deserialize_array_helper::"},"signature":{"param_types":[{"id":18,"debug_name":"core::array::Span::"},{"id":2,"debug_name":"Array"},{"id":0,"debug_name":"felt252"}],"ret_types":[{"id":18,"debug_name":"core::array::Span::"},{"id":63,"debug_name":"core::option::Option::>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":2,"debug_name":"Array"}},{"id":{"id":2,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}}],"entry_point":1857},{"id":{"id":20,"debug_name":"core::array::deserialize_array_helper::"},"signature":{"param_types":[{"id":18,"debug_name":"core::array::Span::"},{"id":15,"debug_name":"Array"},{"id":0,"debug_name":"felt252"}],"ret_types":[{"id":18,"debug_name":"core::array::Span::"},{"id":65,"debug_name":"core::option::Option::>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}},{"id":{"id":1,"debug_name":null},"ty":{"id":15,"debug_name":"Array"}},{"id":{"id":2,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}}],"entry_point":1935},{"id":{"id":18,"debug_name":"core::array::SpanFelt252Serde::deserialize"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":18,"debug_name":"core::array::Span::"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":69,"debug_name":"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}}],"entry_point":1965},{"id":{"id":21,"debug_name":"dojo_os::ProgramInputImpl::hash_storage_updates[expr57]"},"signature":{"param_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":4,"debug_name":"core::array::Span::"},{"id":0,"debug_name":"felt252"},{"id":31,"debug_name":"core::pedersen::HashState"},{"id":27,"debug_name":"u32"}],"ret_types":[{"id":8,"debug_name":"RangeCheck"},{"id":9,"debug_name":"Pedersen"},{"id":59,"debug_name":"core::panics::PanicResult::<(core::integer::u32, core::pedersen::HashState, ())>"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":8,"debug_name":"RangeCheck"}},{"id":{"id":1,"debug_name":null},"ty":{"id":9,"debug_name":"Pedersen"}},{"id":{"id":2,"debug_name":null},"ty":{"id":4,"debug_name":"core::array::Span::"}},{"id":{"id":3,"debug_name":null},"ty":{"id":0,"debug_name":"felt252"}},{"id":{"id":4,"debug_name":null},"ty":{"id":31,"debug_name":"core::pedersen::HashState"}},{"id":{"id":5,"debug_name":null},"ty":{"id":27,"debug_name":"u32"}}],"entry_point":2069},{"id":{"id":22,"debug_name":"dojo_os::StorageUpdatesSerde::deserialize"},"signature":{"param_types":[{"id":18,"debug_name":"core::array::Span::"}],"ret_types":[{"id":18,"debug_name":"core::array::Span::"},{"id":75,"debug_name":"core::option::Option::"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":18,"debug_name":"core::array::Span::"}}],"entry_point":2181}],"debug_info":{"type_names":[],"libfunc_names":[],"user_func_names":[]}} \ No newline at end of file diff --git a/bin/saya/programs/cairo1echo.json b/bin/saya/programs/cairo1echo.json new file mode 100644 index 0000000000..53da56aee3 --- /dev/null +++ b/bin/saya/programs/cairo1echo.json @@ -0,0 +1 @@ +{"version":1,"type_declarations":[{"id":{"id":1,"debug_name":"Array"},"long_id":{"generic_id":"Array","generic_args":[{"Type":{"id":0,"debug_name":"felt252"}}]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":false,"zero_sized":false}},{"id":{"id":0,"debug_name":"felt252"},"long_id":{"generic_id":"felt252","generic_args":[]},"declared_type_info":{"storable":true,"droppable":true,"duplicatable":true,"zero_sized":false}}],"libfunc_declarations":[{"id":{"id":0,"debug_name":"store_temp>"},"long_id":{"generic_id":"store_temp","generic_args":[{"Type":{"id":1,"debug_name":"Array"}}]}}],"statements":[{"Invocation":{"libfunc_id":{"id":0,"debug_name":"store_temp>"},"args":[{"id":0,"debug_name":null}],"branches":[{"target":"Fallthrough","results":[{"id":0,"debug_name":null}]}]}},{"Return":[{"id":0,"debug_name":null}]}],"funcs":[{"id":{"id":0,"debug_name":"celestia_mock::main"},"signature":{"param_types":[{"id":1,"debug_name":"Array"}],"ret_types":[{"id":1,"debug_name":"Array"}]},"params":[{"id":{"id":0,"debug_name":null},"ty":{"id":1,"debug_name":"Array"}}],"entry_point":0}]} \ No newline at end of file diff --git a/bin/saya/saya.sh b/bin/saya/saya.sh new file mode 100755 index 0000000000..b94da4fd3f --- /dev/null +++ b/bin/saya/saya.sh @@ -0,0 +1,184 @@ +#!/bin/bash + +# set -a && source .env && set +as + +# Set private variables + +SAYA_SEPOLIA_ENDPOINT=https://api.cartridge.gg/x/starknet/sepolia +SAYA_SEPOLIA_PRIVATE_KEY= +SAYA_SEPOLIA_ACCOUNT_ADDRESS= +SAYA_PROVER_KEY= +SAYA_SNCAST_ACCOUNT_NAME="dev" + +# Probably no need to change these + +# SAYA_PROVER_URL=http://prover.visoft.dev:3618 +# SAYA_PROVER_URL=http://localhost:3040 +SAYA_PROVER_URL=https://api.cartridge.gg/prover/ +# SAYA_MANIFEST_PATH=../shard-dungeon/Scarb.toml +SAYA_MANIFEST_PATH=examples/spawn-and-move/Scarb.toml +SAYA_FACT_REGISTRY_CLASS_HASH=0x0485857a88cacd0a706452c61cfa613802c638dc4ce09bf3d8b289c70183d293 +SAYA_PILTOVER_CLASS_HASH=0x2a7a2276cf2f00206960ea8a0ea86b1549d6514ab11f546cc71b8154b597c1d +SAYA_PILTOVER_STARTING_STATE_ROOT=0 +SAYA_CONFIG_HASH=42 +SAYA_PROGRAM_HASH=0x2aa9e430c145b26d681a8087819ed5bff93f5596105d0e74f00fc7caa46fa18 #need to be reupdated + +# Set after runnig the script + +SAYA_WORLD_ADDRESS="" +SAYA_WORLD_PREPARED="" # Set to anything after preparing the world successfully for the first time +SAYA_FORK_BLOCK_NUMBER= +SAYA_SKIP_MAKING_TRANSACTIONS="" # Set to anything to skip making transactions +SAYA_PILTOVER_ADDRESS="" +SAYA_PILTOVER_PREPARED= +SAYA_FACT_REGISTRY="" + + +if [[ -z "${SAYA_FACT_REGISTRY}" ]]; then + sncast -a $SAYA_SNCAST_ACCOUNT_NAME deploy \ + --class-hash $SAYA_FACT_REGISTRY_CLASS_HASH \ + --fee-token eth \ + -u $SAYA_SEPOLIA_ENDPOINT + echo "Set SAYA_FACT_REGISTRY to the address of the deployed contract." + exit 0 +fi +if [[ -z "${SAYA_WORLD_ADDRESS}" ]]; then + echo "World address not set: DEPLOYING WORLD" + + # Build world contract + cargo run -r --bin sozo -- \ + build \ + --manifest-path $SAYA_MANIFEST_PATH + + cargo run -r --bin sozo -- \ + migrate apply \ + --manifest-path $SAYA_MANIFEST_PATH \ + --rpc-url $SAYA_SEPOLIA_ENDPOINT \ + --private-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --account-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS + + echo "Set SAYA_WORLD_ADDRESS to the address of the deployed contract." + + exit 0 + +else + echo "Using world: $SAYA_WORLD_ADDRESS" +fi + +if [[ -z "${SAYA_WORLD_PREPARED}" ]]; then + echo "World not prepared: PREPARING WORLD" + + cargo run -r --bin sozo -- \ + execute $SAYA_WORLD_ADDRESS set_differ_program_hash \ + -c 2265722951651489608338464389196546125983429710081933755514038580032192121109 \ + --manifest-path $SAYA_MANIFEST_PATH \ + --rpc-url $SAYA_SEPOLIA_ENDPOINT \ + --private-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --account-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --fee-estimate-multiplier 20 \ + --world $SAYA_WORLD_ADDRESS \ + --wait + + cargo run -r --bin sozo -- \ + execute $SAYA_WORLD_ADDRESS set_merger_program_hash \ + -c 2265722951651489608338464389196546125983429710081933755514038580032192121109 \ + --manifest-path $SAYA_MANIFEST_PATH \ + --rpc-url $SAYA_SEPOLIA_ENDPOINT \ + --private-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --account-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --fee-estimate-multiplier 20 \ + --world $SAYA_WORLD_ADDRESS \ + --wait + + cargo run -r --bin sozo -- \ + execute $SAYA_WORLD_ADDRESS set_facts_registry \ + -c $SAYA_FACT_REGISTRY \ + --manifest-path $SAYA_MANIFEST_PATH \ + --rpc-url $SAYA_SEPOLIA_ENDPOINT \ + --private-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --account-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --fee-estimate-multiplier 20 \ + --world $SAYA_WORLD_ADDRESS \ + --wait + + echo "Set SAYA_WORLD_PREPARED to anything to skip this step next time." + +else + echo "World is already prepared" +fi + +if [[ -z "${SAYA_FORK_BLOCK_NUMBER}" ]]; then + echo "Set SAYA_FORK_BLOCK_NUMBER to the latest block including the preparations (check here https://sepolia.starkscan.co/, remember to switch to sepolia!)." + echo "You can now run \`cargo run -r --bin katana -- --rpc-url $SAYA_SEPOLIA_ENDPOINT --fork-block-number \$SAYA_FORK_BLOCK_NUMBER\` in another terminal." + exit 0 +fi + +if [[ -z "${SAYA_PILTOVER_ADDRESS}" ]]; then + sncast -a $SAYA_SNCAST_ACCOUNT_NAME deploy \ + --class-hash $SAYA_PILTOVER_CLASS_HASH \ + -c $SAYA_SEPOLIA_ACCOUNT_ADDRESS $SAYA_PILTOVER_STARTING_STATE_ROOT $(expr $SAYA_FORK_BLOCK_NUMBER + 1) 0 \ + --fee-token eth \ + -u $SAYA_SEPOLIA_ENDPOINT + + + echo "Set SAYA_PILTOVER_ADDRESS to the address of the deployed contract." + exit 0 +fi + +if [[ -z "${SAYA_PILTOVER_PREPARED}" ]]; then + sncast -a $SAYA_SNCAST_ACCOUNT_NAME --wait invoke \ + --contract-address $SAYA_PILTOVER_ADDRESS --function set_program_info -c $SAYA_PROGRAM_HASH $SAYA_CONFIG_HASH \ + --fee-token eth \ + -u $SAYA_SEPOLIA_ENDPOINT + + sncast -a $SAYA_SNCAST_ACCOUNT_NAME --wait invoke \ + --contract-address $SAYA_PILTOVER_ADDRESS --function set_facts_registry -c $SAYA_FACT_REGISTRY \ + --fee-token eth \ + -u $SAYA_SEPOLIA_ENDPOINT + +fi + + +if [[ -z "${SAYA_SKIP_MAKING_TRANSACTIONS}" ]]; then + cargo run -r --bin sozo -- execute dojo_examples-actions spawn \ + --manifest-path $SAYA_MANIFEST_PATH \ + --rpc-url http://localhost:5050 \ + --private-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --account-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --world $SAYA_WORLD_ADDRESS \ + --wait && \ + cargo run -r --bin sozo -- execute dojo_examples-actions move \ + -c 2 \ + --manifest-path $SAYA_MANIFEST_PATH \ + --rpc-url http://localhost:5050 \ + --private-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --account-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --world $SAYA_WORLD_ADDRESS \ + --wait +fi + + +cargo run -r --bin sozo -- model get Moves $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --manifest-path $SAYA_MANIFEST_PATH \ + --rpc-url $SAYA_SEPOLIA_ENDPOINT \ + --world $SAYA_WORLD_ADDRESS + +cargo run -r --bin saya -- \ + --mode persistent \ + --rpc-url http://localhost:5050 \ + --registry $SAYA_FACT_REGISTRY \ + --settlement-contract $SAYA_PILTOVER_ADDRESS \ + --world $SAYA_WORLD_ADDRESS \ + --prover-url $SAYA_PROVER_URL \ + --store-proofs \ + --starknet-url $SAYA_SEPOLIA_ENDPOINT \ + --signer-key $SAYA_SEPOLIA_PRIVATE_KEY \ + --signer-address $SAYA_SEPOLIA_ACCOUNT_ADDRESS \ + --private-key $SAYA_PROVER_KEY \ + --batch-size 1 \ + --start-block $(expr $SAYA_FORK_BLOCK_NUMBER + 1) \ + --da-chain celestia \ + --celestia-node-url http://localhost:26658 \ + --celestia-namespace saya-dev \ + --celestia-node-auth-token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiLCJhZG1pbiJdfQ.kjW6UL2m2XIylCDzG5vwgyW5YA75LyLzXMbnp8Fpe_E + # --end-block $(expr $SAYA_FORK_BLOCK_NUMBER + 4) diff --git a/bin/saya/scripts/0_account_setup.sh b/bin/saya/scripts/0_account_setup.sh new file mode 100755 index 0000000000..fe576af6d1 --- /dev/null +++ b/bin/saya/scripts/0_account_setup.sh @@ -0,0 +1,15 @@ +#Set all the environment variables in the script for the account setup. + +SN_CAST_ACCOUNT_NAME= +DOJO_ACCOUNT_ADDRESS= +SN_CAST_ACCOUNT_TYPE= #"" +DOJO_PRIVATE_KEY= +STARKNET_RPC_URL= +SN_CAST_ACCOUNT_NAME= + +sncast account add --name $SN_CAST_ACCOUNT_NAME \ + --address $DOJO_ACCOUNT_ADDRESS \ + --type $SN_CAST_ACCOUNT_TYPE \ + --private-key $DOJO_PRIVATE_KEY \ + --url $STARKNET_RPC_URL \ + --add-profile $SN_CAST_ACCOUNT_NAME \ No newline at end of file diff --git a/bin/saya/scripts/1_world_setup.sh b/bin/saya/scripts/1_world_setup.sh new file mode 100755 index 0000000000..51c29307b2 --- /dev/null +++ b/bin/saya/scripts/1_world_setup.sh @@ -0,0 +1,124 @@ +# Setup the world to be deployed in the context of the Saya example: +# +# Before running the script, please make sure to have the following environment variables set: +# +# - DOJO_PRIVATE_KEY: The private key of the account that will deploy the world. +# - DOJO_ACCOUNT_ADDRESS: The address of the account that will deploy the world. +# - STARKNET_RPC_URL: The RPC URL of the StarkNet network you are deploying to. +# + +DOJO_PRIVATE_KEY= +DOJO_ACCOUNT_ADDRESS= +STARKNET_RPC_URL= + +set -e + +# Check if jq is installed. +if ! command -v jq &> /dev/null +then + echo "jq could not be found. Please install it with any method listed at:" + echo "https://jqlang.github.io/jq/download/" + exit 1 +fi + +# Build the project to have the manifests and artifacts. +cargo run -r --bin sozo -- \ + -P saya \ + build \ + --manifest-path examples/spawn-and-move/Scarb.toml + +# # Ensures no previous run corrupted the environment. +unset DOJO_WORLD_ADDRESS + +# Migrate the world on chain (Sepolia fees can be high, so we multiply the estimate by 20 here to pass everytime). +# We use -vvv to get more information about the transactions and extract data from it. +cargo run -r --bin sozo -- \ + -P saya \ + migrate apply \ + --manifest-path examples/spawn-and-move/Scarb.toml \ + --rpc-url $STARKNET_RPC_URL\ + --private-key $DOJO_PRIVATE_KEY \ + --account-address $DOJO_ACCOUNT_ADDRESS \ + --fee-estimate-multiplier 20 \ + -vvv + +# +# The world is now deployed, you should extract the address and the block number at which it was deployed to set the +# following environment variables: + + +# /!\ Be aware that the block number needs to be the block in which the transaction that deploys the world was mined. + +# Function to extract a specific key from the [world] section in the deployment manifest. +extract_key() { + local section=$1 + local key=$2 + + awk -v section="$section" -v key="$key" ' + # Track the current section + /^\[.*\]/ { + in_section = ($0 == "[" section "]") + next + } + # When in the desired section, extract the key + in_section && $1 == key { + gsub(/^[^=]+=[ ]*"?|"?$/, "") + print $0 + exit + } + ' "$TOML_FILE" +} + +# Example usage +TOML_FILE="examples/spawn-and-move/manifests/saya/deployment/manifest.toml" +WORLD_ADDRESS=$(extract_key "world" "address") +echo "world address: $WORLD_ADDRESS" + +TRANSACTION_HASH=$(extract_key "world" "transaction_hash") +echo "transaction hash: $TRANSACTION_HASH" + +RPC_URL=$(extract_key "world.metadata" "rpc_url") +echo "RPC URL: $RPC_URL" + +# Check if TRANSACTION_HASH and WORLD_ADDRESS are empty +if [ -z "$TRANSACTION_HASH" ] || [ -z "$WORLD_ADDRESS" ]; then + echo "Error: Could not extract transaction hash or world address from the manifest file." + echo "Please check the contents of $TOML_FILE and ensure the migration was successful." + exit 1 +fi + + +check_finality() { + local tx_hash="$1" + local url="$2" + + # Call sncast to get transaction status + local result=$(sncast --account dev tx-status "$tx_hash" --url "$url") + + # Extract finality status from the result + local execution_status=$(echo "$result" | grep -oP '(?<=execution_status: ).*') + local finality_status=$(echo "$result" | grep -oP '(?<=finality_status: ).*') + + # Output the statuses for debugging purposes + echo "Execution Status: $execution_status" + echo "Finality Status: $finality_status" + + # Check if finality status is AcceptedOnL2 + if [ "$finality_status" == "AcceptedOnL2" ]; then + echo "Transaction $tx_hash has been accepted on L2!" + return 0 + else + echo "Transaction $tx_hash has not yet been accepted on L2. Waiting..." + return 1 + fi +} + +# Loop until finality status is "AcceptedOnL2" +while true; do + check_finality "$TRANSACTION_HASH" "$STARKNET_RPC_URL" + if [ $? -eq 0 ]; then + break + fi + # Sleep for a few seconds before checking again + sleep 1 +done \ No newline at end of file diff --git a/bin/saya/scripts/2_world_config.sh b/bin/saya/scripts/2_world_config.sh new file mode 100755 index 0000000000..fb053b89fb --- /dev/null +++ b/bin/saya/scripts/2_world_config.sh @@ -0,0 +1,40 @@ +# Set environment variables for the world configuration +DOJO_WORLD_ADDRESS= # Address of the Dojo World contract +STARKNET_RPC_URL= # Starknet RPC URL to interact with the network +DOJO_PRIVATE_KEY= # Private key for executing transactions +DOJO_ACCOUNT_ADDRESS= # Account address used for signing transactions + +# Set the differ program hash in the Dojo World contract +cargo run -r --bin sozo -- \ + execute $DOJO_WORLD_ADDRESS set_differ_program_hash \ + -c 0xa73dd9546f9858577f9fdbe43fd629b6f12dc638652e11b6e29155f4c6328 \ + --manifest-path examples/spawn-and-move/Scarb.toml \ # Path to Scarb project manifest + --rpc-url $STARKNET_RPC_URL \ # Starknet RPC URL + --private-key $DOJO_PRIVATE_KEY \ # Private key to sign the transaction + --account-address $DOJO_ACCOUNT_ADDRESS \ # Account address for transaction authorization + --fee-estimate-multiplier 20 \ # Set fee estimate multiplier + --world $DOJO_WORLD_ADDRESS \ # Specify the world address for the command + --wait # Wait for the transaction to complete + +# Set the merger program hash in the Dojo World contract +cargo run -r --bin sozo -- \ + execute $DOJO_WORLD_ADDRESS set_merger_program_hash \ + -c 0xc105cf2c69201005df3dad0050f5289c53d567d96df890f2142ad43a540334 \ + --manifest-path examples/spawn-and-move/Scarb.toml \ # Path to Scarb project manifest + --rpc-url $STARKNET_RPC_URL \ # Starknet RPC URL + --private-key $DOJO_PRIVATE_KEY \ # Private key to sign the transaction + --account-address $DOJO_ACCOUNT_ADDRESS \ # Account address for transaction authorization + --fee-estimate-multiplier 20 \ # Set fee estimate multiplier + --wait # Wait for the transaction to complete + +# Set the facts registry in the Dojo World contract +cargo run -r --bin sozo -- \ + execute $DOJO_WORLD_ADDRESS set_facts_registry \ + -c 0x2cc03dd3136b634bfea2e36e9aac5f966db9576dde3fe43e3ef72e9ece1f42b \ + --manifest-path examples/spawn-and-move/Scarb.toml \ # Path to Scarb project manifest + --rpc-url $STARKNET_RPC_URL \ # Starknet RPC URL + --private-key $DOJO_PRIVATE_KEY \ # Private key to sign the transaction + --account-address $DOJO_ACCOUNT_ADDRESS \ # Account address for transaction authorization + --fee-estimate-multiplier 20 \ # Set fee estimate multiplier + --world $DOJO_WORLD_ADDRESS \ # Specify the world address for the command + --wait # Wait for the transaction to complete diff --git a/bin/saya/scripts/3_piltover.sh b/bin/saya/scripts/3_piltover.sh new file mode 100755 index 0000000000..61c3714bec --- /dev/null +++ b/bin/saya/scripts/3_piltover.sh @@ -0,0 +1,77 @@ +# Define the account and contract details required for deployment +PILTOVER_CLASS_HASH="0x2a7a2276cf2f00206960ea8a0ea86b1549d6514ab11f546cc71b8154b597c1d" +SAYA_CONFIG_HASH=42 +SAYA_PROGRAM_HASH=0x2aa9e430c145b26d681a8087819ed5bff93f5596105d0e74f00fc7caa46fa18 +SAYA_FACT_REGISTRY_ADDRESS=0x2cc03dd3136b634bfea2e36e9aac5f966db9576dde3fe43e3ef72e9ece1f42b + +# Set the required environment variables +SN_CAST_ACCOUNT_NAME= # The name of the account used with sncast +STARKNET_RPC_URL= # The Starknet RPC URL to interact with the network +DOJO_ACCOUNT_ADDRESS= # The Dojo account address used for deployment + +# Deploy the contract using sncast, and capture the output for transaction and contract address +output=$(sncast -a $SN_CAST_ACCOUNT_NAME deploy \ + -u $STARKNET_RPC_URL \ + --class-hash $PILTOVER_CLASS_HASH \ + --fee-token eth \ + -c $DOJO_ACCOUNT_ADDRESS 0 $((SAYA_FORK_BLOCK_NUMBER + 1)) 0) + +# Parse the output to extract the transaction hash and the contract address +TRANSACTION_HASH=$(echo "$output" | grep "transaction_hash:" | awk '{print $2}') +PILTOVER_CONTRACT_ADDRESS=$(echo "$output" | grep "contract_address:" | awk '{print $2}') + +# Display the transaction hash and contract address for reference +echo "Piltover deploy transaction hash: $TRANSACTION_HASH" +echo "Piltover contract address: $PILTOVER_CONTRACT_ADDRESS" + +# Function to check the finality status of the transaction on L2 +check_finality() { + local tx_hash="$1" # Transaction hash to check the status for + local url="$2" # Starknet RPC URL + + # Use sncast to retrieve the transaction status + local result=$(sncast --account dev tx-status "$tx_hash" --url "$url") + + # Extract and display the execution and finality statuses + local execution_status=$(echo "$result" | grep -oP '(?<=execution_status: ).*') + local finality_status=$(echo "$result" | grep -oP '(?<=finality_status: ).*') + + echo "Execution Status: $execution_status" + echo "Finality Status: $finality_status" + + # Check if the transaction has been accepted on L2 + if [ "$finality_status" == "AcceptedOnL2" ]; then + echo "Transaction $tx_hash has been accepted on L2!" + return 0 + else + echo "Transaction $tx_hash has not yet been accepted on L2. Waiting..." + return 1 + fi +} + +# Loop to repeatedly check the finality status until the transaction is accepted on L2 +while true; do + check_finality "$TRANSACTION_HASH" "$STARKNET_RPC_URL" + if [ $? -eq 0 ]; then + break + fi + # Wait for 5 seconds before checking again + sleep 5 +done +echo "" + +# Invoke the contract to set program information after deployment +sncast -a $SN_CAST_ACCOUNT_NAME --wait invoke -u $STARKNET_RPC_URL \ + --fee-token eth --contract-address $PILTOVER_CONTRACT_ADDRESS --function set_program_info -c \ + $SAYA_PROGRAM_HASH $SAYA_CONFIG_HASH + +echo "" + +# Invoke the contract to set the facts registry address +sncast -a $SN_CAST_ACCOUNT_NAME --wait invoke -u $STARKNET_RPC_URL \ + --fee-token eth --contract-address $PILTOVER_CONTRACT_ADDRESS --function set_facts_registry -c \ + $SAYA_FACT_REGISTRY_ADDRESS + +echo "" +# Display the final contract address for saving +echo -e "Save piltover address \e[1;32m$PILTOVER_CONTRACT_ADDRESS\e[0m" diff --git a/bin/saya/src/args/mod.rs b/bin/saya/src/args/mod.rs index 2d5e8b7453..326c489d55 100644 --- a/bin/saya/src/args/mod.rs +++ b/bin/saya/src/args/mod.rs @@ -1,13 +1,10 @@ //! Saya binary options. -use std::fs::File; -use std::io::BufReader; -use std::path::PathBuf; - use clap::Parser; use dojo_utils::keystore::prompt_password_if_needed; use saya_core::data_availability::celestia::CelestiaConfig; use saya_core::data_availability::DataAvailabilityConfig; -use saya_core::{ProverAccessKey, SayaConfig, StarknetAccountData}; +use saya_core::{ProverAccessKey, SayaConfig, SayaMode, StarknetAccountData}; +use settlement::SettlementOptions; use starknet::core::utils::cairo_short_string_to_felt; use starknet::signers::SigningKey; use starknet_account::StarknetAccountOptions; @@ -21,6 +18,7 @@ use crate::args::proof::ProofOptions; mod data_availability; mod proof; +mod settlement; mod starknet_account; #[derive(Parser, Debug)] @@ -45,21 +43,21 @@ pub struct SayaArgs { #[arg(help = "Output logs in JSON format.")] pub json_log: bool, - /// Specify a JSON configuration file to use. - #[arg(long)] - #[arg(value_name = "CONFIG FILE")] - #[arg(help = "The path to a JSON configuration file. This takes precedence over other CLI \ - arguments.")] - pub config_file: Option, - /// Specify a block to start fetching data from. #[arg(short, long, default_value = "0")] pub start_block: u64, + #[arg(short, long)] + pub end_block: Option, #[arg(short, long, default_value = "1")] #[arg(help = "The number of blocks to be merged into a single proof.")] + #[arg(conflicts_with = "end_block")] pub batch_size: usize, + #[command(flatten)] + #[command(next_help_heading = "Choose the saya execution mode")] + pub settlement: SettlementOptions, + #[command(flatten)] #[command(next_help_heading = "Data availability options")] pub data_availability: DataAvailabilityOptions, @@ -99,118 +97,138 @@ impl TryFrom for SayaConfig { fn try_from(args: SayaArgs) -> Result { let skip_publishing_proof = args.data_availability.celestia.skip_publishing_proof; - if let Some(config_file) = args.config_file { - let file = File::open(config_file).map_err(|_| "Failed to open config file")?; - let reader = BufReader::new(file); - serde_json::from_reader(reader).map_err(|e| e.into()) + let da_config = match args.data_availability.da_chain { + Some(chain) => Some(match chain { + DataAvailabilityChain::Celestia => { + let conf = args.data_availability.celestia; + + DataAvailabilityConfig::Celestia(CelestiaConfig { + node_url: match conf.celestia_node_url { + Some(v) => v, + None => { + return Err(Box::new(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "Celestia config: Node url is required", + ))); + } + }, + namespace: match conf.celestia_namespace { + Some(v) => v, + None => { + return Err(Box::new(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "Celestia config: Namespace is required", + ))); + } + }, + node_auth_token: conf.celestia_node_auth_token, + }) + } + }), + None => None, + }; + + // Check if the private key is from keystore or provided directly to follow `sozo` + // conventions. + let private_key = if let Some(pk) = args.starknet_account.signer_key { + pk + } else if let Some(path) = args.starknet_account.signer_keystore_path { + let password = prompt_password_if_needed( + args.starknet_account.signer_keystore_password.as_deref(), + false, + )?; + + SigningKey::from_keystore(path, &password)?.secret_scalar() } else { - let da_config = match args.data_availability.da_chain { - Some(chain) => Some(match chain { - DataAvailabilityChain::Celestia => { - let conf = args.data_availability.celestia; - - DataAvailabilityConfig::Celestia(CelestiaConfig { - node_url: match conf.celestia_node_url { - Some(v) => v, - None => { - return Err(Box::new(std::io::Error::new( - std::io::ErrorKind::InvalidInput, - "Celestia config: Node url is required", - ))); - } - }, - namespace: match conf.celestia_namespace { - Some(v) => v, - None => { - return Err(Box::new(std::io::Error::new( - std::io::ErrorKind::InvalidInput, - "Celestia config: Namespace is required", - ))); - } - }, - node_auth_token: conf.celestia_node_auth_token, - }) - } - }), - None => None, - }; + return Err(Box::new(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "Could not find private key. Please specify the private key or path to the \ + keystore file.", + ))); + }; + + let starknet_account = StarknetAccountData { + starknet_url: args.starknet_account.starknet_url, + chain_id: cairo_short_string_to_felt(&args.starknet_account.chain_id)?, + signer_address: args.starknet_account.signer_address, + signer_key: private_key, + }; + + let prover_key = + ProverAccessKey::from_hex_string(&args.proof.private_key).map_err(|e| { + Box::new(std::io::Error::new(std::io::ErrorKind::InvalidInput, e.to_string())) + })?; - // Check if the private key is from keystore or provided directly to follow `sozo` - // conventions. - let private_key = if let Some(pk) = args.starknet_account.signer_key { - pk - } else if let Some(path) = args.starknet_account.signer_keystore_path { - let password = prompt_password_if_needed( - args.starknet_account.signer_keystore_password.as_deref(), - false, - )?; - - SigningKey::from_keystore(path, &password)?.secret_scalar() + if args.settlement.saya_mode.0 == SayaMode::Persistent && args.batch_size > 1 { + return Err(Box::new(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "Batch size must be 1 for persistent mode.", + ))); + } + + let settlement_contract = + if let Some(settlement_contract) = args.settlement.settlement_contract { + settlement_contract } else { return Err(Box::new(std::io::Error::new( std::io::ErrorKind::InvalidInput, - "Could not find private key. Please specify the private key or path to the \ - keystore file.", + "Persistent mode has to have a `settlement_contract`.", ))); }; - let starknet_account = StarknetAccountData { - starknet_url: args.starknet_account.starknet_url, - chain_id: cairo_short_string_to_felt(&args.starknet_account.chain_id)?, - signer_address: args.starknet_account.signer_address, - signer_key: private_key, - }; - - let prover_key = - ProverAccessKey::from_hex_string(&args.proof.private_key).map_err(|e| { - Box::new(std::io::Error::new(std::io::ErrorKind::InvalidInput, e.to_string())) - })?; - - Ok(SayaConfig { - katana_rpc: args.rpc_url, - prover_url: args.proof.prover_url, - prover_key, - store_proofs: args.store_proofs, - start_block: args.start_block, - batch_size: args.batch_size, - data_availability: da_config, - world_address: args.proof.world_address, - fact_registry_address: args.proof.fact_registry_address, - skip_publishing_proof, - starknet_account, - }) - } + Ok(SayaConfig { + katana_rpc: args.rpc_url, + prover_url: args.proof.prover_url, + prover_key, + store_proofs: args.store_proofs, + block_range: (args.start_block, args.end_block), + batch_size: args.batch_size, + mode: args.settlement.saya_mode.0, + settlement_contract, + data_availability: da_config, + world_address: args.proof.world_address, + fact_registry_address: args.proof.fact_registry_address, + skip_publishing_proof, + starknet_account, + }) } } #[cfg(test)] mod tests { - use katana_primitives::Felt; + use std::str::FromStr; + + use saya_core::SayaMode; + use starknet_crypto::Felt; use super::*; use crate::args::data_availability::CelestiaOptions; #[test] fn test_saya_config_deserialization() { - let manifest_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap(); - let config_file_path = std::path::Path::new(&manifest_dir) - .join("src") - .join("args") - .join("test_saya_config_file.json"); - + let prover_access_key = ProverAccessKey::generate(); let args = SayaArgs { - config_file: Some(config_file_path.clone()), rpc_url: Url::parse("http://localhost:5050").unwrap(), - store_proofs: true, + store_proofs: false, json_log: false, start_block: 0, - batch_size: 4, + end_block: Some(100), + batch_size: 1, + settlement: SettlementOptions { + saya_mode: settlement::SayaModeArg(SayaMode::Persistent), + settlement_contract: Some( + Felt::from_hex( + "0x65c0d01ef63197f00372cbb93bb32a7c49b70d3e82c5e0880d7912f4421e1c4", + ) + .unwrap(), + ), + }, data_availability: DataAvailabilityOptions { - da_chain: None, + da_chain: Some(DataAvailabilityChain::Celestia), celestia: CelestiaOptions { - celestia_node_url: None, - celestia_node_auth_token: None, - celestia_namespace: None, + celestia_node_url: Url::from_str("http://localhost:26657/").ok(), + celestia_node_auth_token: Some("your_auth_token".to_string()), + celestia_namespace: Some("katana".to_string()), skip_publishing_proof: true, }, }, @@ -218,13 +236,21 @@ mod tests { world_address: Default::default(), fact_registry_address: Default::default(), prover_url: Url::parse("http://localhost:5050").unwrap(), - private_key: Default::default(), + private_key: prover_access_key.signing_key_as_hex_string(), }, starknet_account: StarknetAccountOptions { starknet_url: Url::parse("http://localhost:5030").unwrap(), chain_id: "SN_SEPOLIA".to_string(), - signer_address: Default::default(), - signer_key: None, + signer_address: Felt::from_hex( + "0x3aa0a12c62a46a200b1a1211e8cd09b520164104e76d79648ca459cf05db94", + ) + .unwrap(), + signer_key: Some( + Felt::from_hex( + "0x06b41bfa82e791a8b4e6b3ee058cb25b89714e4a23bd9a1ad6e6ba0bbc0b145b", + ) + .unwrap(), + ), signer_keystore_path: None, signer_keystore_password: None, }, @@ -233,15 +259,21 @@ mod tests { let config: SayaConfig = args.try_into().unwrap(); assert_eq!(config.katana_rpc.as_str(), "http://localhost:5050/"); - assert_eq!(config.prover_url.as_str(), "http://localhost:1234/"); - assert_eq!(config.batch_size, 4); + assert_eq!(config.prover_url.as_str(), "http://localhost:5050/"); + assert_eq!(config.batch_size, 1); + assert_eq!(config.block_range, (0, Some(100))); assert_eq!( - config.prover_key.signing_key_as_hex_string(), - "0xd0fa91f4949e9a777ebec071ca3ca6acc1f5cd6c6827f123b798f94e73425027" + config.prover_key.verifying_key_as_hex_string(), + prover_access_key.verifying_key_as_hex_string() ); assert!(!config.store_proofs); assert!(config.skip_publishing_proof); - assert_eq!(config.start_block, 0); + assert_eq!(config.mode, SayaMode::Persistent); + assert_eq!( + config.settlement_contract.to_hex_string(), + "0x65c0d01ef63197f00372cbb93bb32a7c49b70d3e82c5e0880d7912f4421e1c4" + ); + if let Some(DataAvailabilityConfig::Celestia(celestia_config)) = config.data_availability { assert_eq!(celestia_config.node_url.as_str(), "http://localhost:26657/"); assert_eq!(celestia_config.node_auth_token, Some("your_auth_token".to_string())); @@ -258,7 +290,7 @@ mod tests { ) .unwrap(), signer_key: Felt::from_hex( - "0x6b41bfa82e791a8b4e6b3ee058cb25b89714e4a23bd9a1ad6e6ba0bbc0b145b", + "0x06b41bfa82e791a8b4e6b3ee058cb25b89714e4a23bd9a1ad6e6ba0bbc0b145b", ) .unwrap(), }; diff --git a/bin/saya/src/args/proof.rs b/bin/saya/src/args/proof.rs index 02362188a6..543bbdba05 100644 --- a/bin/saya/src/args/proof.rs +++ b/bin/saya/src/args/proof.rs @@ -1,6 +1,6 @@ use clap::Args; use dojo_utils::env::DOJO_WORLD_ADDRESS_ENV_VAR; -use katana_primitives::Felt; +use starknet::core::types::Felt; use url::Url; #[derive(Debug, Args, Clone)] diff --git a/bin/saya/src/args/settlement.rs b/bin/saya/src/args/settlement.rs new file mode 100644 index 0000000000..235f3d51b4 --- /dev/null +++ b/bin/saya/src/args/settlement.rs @@ -0,0 +1,62 @@ +use std::fmt::Display; +use std::str::FromStr; + +use clap::builder::PossibleValue; +use clap::{Args, ValueEnum}; +use saya_core::SayaMode; +use starknet::core::types::Felt; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct SayaModeArg(pub SayaMode); + +#[derive(Debug, Args, Clone)] +pub struct SettlementOptions { + #[arg(help = "Choose either ephemeral or persistent saya mode.")] + #[arg(long = "mode")] + pub saya_mode: SayaModeArg, + + #[arg(help = "The settlement contract address.")] + #[arg(long)] + pub settlement_contract: Option, +} + +impl Default for SayaModeArg { + fn default() -> Self { + SayaModeArg(SayaMode::Ephemeral) + } +} + +impl ValueEnum for SayaModeArg { + fn value_variants<'a>() -> &'a [Self] { + &[SayaModeArg(SayaMode::Ephemeral), SayaModeArg(SayaMode::Persistent)] + } + + fn to_possible_value(&self) -> Option { + match self.0 { + SayaMode::Ephemeral => Some(PossibleValue::new("ephemeral").alias("shard")), + SayaMode::Persistent => Some(PossibleValue::new("persistent")), + } + } +} + +impl FromStr for SayaModeArg { + type Err = anyhow::Error; + + fn from_str(s: &str) -> anyhow::Result { + let mode = match s { + "ephemeral" | "shard" => SayaMode::Ephemeral, + "persistent" => SayaMode::Persistent, + _ => Err(anyhow::anyhow!("unknown da chain: {}", s))?, + }; + Ok(SayaModeArg(mode)) + } +} + +impl Display for SayaModeArg { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self.0 { + SayaMode::Ephemeral => write!(f, "ephemeral"), + SayaMode::Persistent => write!(f, "persistent"), + } + } +} diff --git a/bin/saya/src/args/starknet_account.rs b/bin/saya/src/args/starknet_account.rs index c764ef0430..524d56a745 100644 --- a/bin/saya/src/args/starknet_account.rs +++ b/bin/saya/src/args/starknet_account.rs @@ -5,7 +5,7 @@ use dojo_utils::env::{ DOJO_ACCOUNT_ADDRESS_ENV_VAR, DOJO_KEYSTORE_PASSWORD_ENV_VAR, DOJO_KEYSTORE_PATH_ENV_VAR, DOJO_PRIVATE_KEY_ENV_VAR, STARKNET_RPC_URL_ENV_VAR, }; -use katana_primitives::Felt; +use starknet::core::types::Felt; use url::Url; #[derive(Debug, Args, Clone)] @@ -15,8 +15,8 @@ pub struct StarknetAccountOptions { pub starknet_url: Url, #[arg(long)] - #[arg(env)] #[arg(help = "The chain id of the starknet node.")] + #[arg(default_value = "SN_SEPOLIA")] pub chain_id: String, #[arg(long, env = DOJO_ACCOUNT_ADDRESS_ENV_VAR)] diff --git a/bin/saya/src/args/test_saya_config_file.json b/bin/saya/src/args/test_saya_config_file.json index dc52810d8e..ee69c43b81 100644 --- a/bin/saya/src/args/test_saya_config_file.json +++ b/bin/saya/src/args/test_saya_config_file.json @@ -3,11 +3,14 @@ "prover_url": "http://localhost:1234", "prover_key": "0xd0fa91f4949e9a777ebec071ca3ca6acc1f5cd6c6827f123b798f94e73425027", "store_proofs": false, - "batch_size": 4, + "batch_size": 1, "world_address": "0x332b8ff41b1b026991fa9b7f0ec352909f8bc33416b65a80527edc988a9b082", "fact_registry_address": "0x217746a5f74c2e5b6fa92c97e902d8cd78b1fabf1e8081c4aa0d2fe159bc0eb", + "settlement_contract": "0x65c0d01ef63197f00372cbb93bb32a7c49b70d3e82c5e0880d7912f4421e1c4", "start_block": 0, "skip_publishing_proof": true, + "mode": "Persistent", + "block_range": [0, 100], "data_availability": { "Celestia": { "node_url": "http://localhost:26657", @@ -21,6 +24,6 @@ "starknet_url": "http://localhost:5030", "chain_id": "SN_SEPOLIA", "signer_address": "0x3aa0a12c62a46a200b1a1211e8cd09b520164104e76d79648ca459cf05db94", - "signer_key": "0x6b41bfa82e791a8b4e6b3ee058cb25b89714e4a23bd9a1ad6e6ba0bbc0b145b" + "signer_key": "0x06b41bfa82e791a8b4e6b3ee058cb25b89714e4a23bd9a1ad6e6ba0bbc0b145b" } } diff --git a/bin/saya/src/main.rs b/bin/saya/src/main.rs index 07f91bc289..f023eaeade 100644 --- a/bin/saya/src/main.rs +++ b/bin/saya/src/main.rs @@ -1,3 +1,5 @@ +#![warn(unused_crate_dependencies)] + //! Saya executable entry point. use clap::Parser; use console::Style; @@ -5,9 +7,6 @@ use saya_core::{Saya, SayaConfig}; mod args; -#[cfg(test)] -mod tests; - use args::SayaArgs; #[tokio::main] @@ -19,11 +18,11 @@ async fn main() -> Result<(), Box> { print_intro(&config); let mut saya = Saya::new(config).await?; + saya.start().await?; - tokio::select! { - res = saya.start() => res?, - _ = dojo_utils::signal::wait_signals() => {} - } + // Wait until Ctrl + C is pressed, then shutdown + // ctrl_c().await?; + // handle.stop()?; Ok(()) } diff --git a/bin/saya/src/tests.rs b/bin/saya/src/tests.rs deleted file mode 100644 index ba734626c9..0000000000 --- a/bin/saya/src/tests.rs +++ /dev/null @@ -1,399 +0,0 @@ -use std::env; -use std::str::FromStr; -use std::sync::Arc; -use std::time::Duration; - -use cairo_proof_parser::output::extract_output; -use katana_primitives::contract::ContractAddress; -use katana_primitives::state::StateUpdates; -use katana_primitives::{address, felt}; -use saya_core::prover::extract::program_input_from_program_output; -use saya_core::prover::{ - prove_diff, HttpProverParams, MessageToAppchain, MessageToStarknet, ProgramInput, ProveProgram, - ProverIdentifier, ProvingState, Scheduler, -}; -use saya_core::ProverAccessKey; -use starknet_crypto::Felt; -use tokio::time::sleep; - -fn prover_identifier() -> ProverIdentifier { - let prover_key = env::var("PROVER_ACCESS_KEY").expect("PROVER_ACCESS_KEY not set."); - - ProverIdentifier::Http(Arc::new(HttpProverParams { - prover_url: "http://prover.visoft.dev:3618".parse().unwrap(), - prover_key: ProverAccessKey::from_hex_string(&prover_key) - .expect("Failed to parse prover key."), - })) -} - -fn sorted(mut v: Vec) -> Vec -where - E: std::cmp::Ord, -{ - v.sort(); - v -} - -#[ignore] -#[tokio::test] -async fn test_program_input_from_program_output() -> anyhow::Result<()> { - let mut input = ProgramInput { - prev_state_root: Felt::from_str("101").unwrap(), - block_number: 102, - block_hash: Felt::from_str("103").unwrap(), - config_hash: Felt::from_str("104").unwrap(), - message_to_starknet_segment: vec![ - MessageToStarknet { - from_address: address!("105"), - to_address: address!("106"), - payload: vec![Felt::from_str("107").unwrap()], - }, - MessageToStarknet { - from_address: address!("105"), - to_address: address!("106"), - payload: vec![Felt::from_str("107").unwrap()], - }, - ], - message_to_appchain_segment: vec![ - MessageToAppchain { - from_address: address!("108"), - to_address: address!("109"), - nonce: Felt::from_str("110").unwrap(), - selector: Felt::from_str("111").unwrap(), - payload: vec![Felt::from_str("112").unwrap()], - }, - MessageToAppchain { - from_address: address!("108"), - to_address: address!("109"), - nonce: Felt::from_str("110").unwrap(), - selector: Felt::from_str("111").unwrap(), - payload: vec![Felt::from_str("112").unwrap()], - }, - ], - state_updates: StateUpdates { - nonce_updates: { - let mut map = std::collections::BTreeMap::new(); - map.insert(address!("1111"), felt!("22222")); - map - }, - storage_updates: vec![( - address!("333"), - vec![(Felt::from_str("4444")?, Felt::from_str("555")?)].into_iter().collect(), - )] - .into_iter() - .collect(), - deployed_contracts: { - let mut map = std::collections::BTreeMap::new(); - map.insert(address!("66666"), felt!("7777")); - map - }, - declared_classes: { - let mut map = std::collections::BTreeMap::new(); - map.insert(Felt::from_str("88888").unwrap(), Felt::from_str("99999").unwrap()); - map - }, - ..Default::default() - }, - world_da: None, - }; - - input.fill_da(333u64.into()); - - let serialized_input = serde_json::to_string(&input).unwrap(); - let proof = - prove_diff(serialized_input, prover_identifier(), ProveProgram::Differ).await.unwrap(); - - let program_output_from_proof = extract_output(&proof).unwrap().program_output; - let program_input_from_proof = program_input_from_program_output( - program_output_from_proof, - input.clone().state_updates, - 333u64.into(), - ) - .unwrap(); - assert_eq!(input, program_input_from_proof); - Ok(()) -} - -#[ignore] -#[tokio::test] -async fn test_combine_proofs() { - let input1 = r#"{ - "prev_state_root": "101", - "block_number": 102, - "block_hash": "103", - "config_hash": "104", - "message_to_starknet_segment": [ - "105", - "106", - "1", - "107" - ], - "message_to_appchain_segment": [ - "108", - "109", - "110", - "111", - "1", - "112" - ], - "nonce_updates": { - "1111": "22222" - }, - "storage_updates": { - "333": { - "4444": "555" - } - }, - "contract_updates": { - "66666": "7777" - }, - "declared_classes": { - "88888": "99999" - }, - "world_da": [] - }"#; - let input2 = r#"{ - "prev_state_root": "201", - "block_number": 103, - "block_hash": "203", - "config_hash": "204", - "message_to_starknet_segment": [ - "205", - "206", - "1", - "207" - ], - "message_to_appchain_segment": [ - "208", - "209", - "210", - "211", - "1", - "207" - ], - "nonce_updates": { - "12334": "214354" - }, - "storage_updates": { - "333": { - "44536346444": "565474555" - } - }, - "contract_updates": { - "4356345": "775468977" - }, - "declared_classes": { - "88556753888": "9995764599" - }, - "world_da": [] - }"#; - let expected = r#"{ - "prev_state_root": "101", - "block_number": 103, - "block_hash": "203", - "config_hash": "104", - "message_to_starknet_segment": [ - "105", - "106", - "1", - "107", - "205", - "206", - "1", - "207" - ], - "message_to_appchain_segment": [ - "108", - "109", - "110", - "111", - "1", - "112", - "208", - "209", - "210", - "211", - "1", - "207" - ], - "nonce_updates": { - "12334": "214354", - "1111": "22222" - }, - "storage_updates": { - "333": { - "44536346444": "565474555", - "4444": "555" - } - }, - "contract_updates": { - "4356345": "775468977", - "66666": "7777" - }, - "declared_classes": { - "88556753888": "9995764599", - "88888": "99999" - }, - "world_da": [ - "4444", - "555", - "44536346444", - "565474555" - ] - }"#; - - let mut inputs = vec![input1, input2] - .into_iter() - .map(|s| serde_json::from_str::(s).unwrap()) - .collect::>(); - - let world = Felt::from_dec_str("333").unwrap(); - for input in &mut inputs { - input.fill_da(world) - } - - let mut scheduler = Scheduler::new(2, world, prover_identifier()); - scheduler.push_diff(inputs.remove(0)).unwrap(); - - sleep(Duration::from_millis(5)).await; - - assert!(!scheduler.is_full()); - assert_eq!(scheduler.query(102).await.unwrap(), ProvingState::Proving); - assert_eq!(scheduler.query(103).await.unwrap(), ProvingState::NotPushed); - - scheduler.push_diff(inputs.remove(0)).unwrap(); - sleep(Duration::from_millis(5)).await; - - assert!(scheduler.is_full()); - assert_eq!(scheduler.query(102).await.unwrap(), ProvingState::Proving); - assert_eq!(scheduler.query(103).await.unwrap(), ProvingState::Proving); - - let (_, output, block_range) = scheduler.proved().await.unwrap(); - let expected: ProgramInput = serde_json::from_str(expected).unwrap(); - assert_eq!(output, expected); - assert_eq!(block_range, (102, 103)); -} - -#[ignore] -#[tokio::test] -async fn test_4_combine_proofs() -> anyhow::Result<()> { - let world = Felt::from_dec_str("42")?; - - let input_1 = r#"{ - "prev_state_root": "101", - "block_number": 101, - "block_hash": "103", - "config_hash": "104", - "message_to_starknet_segment": ["105", "106", "1", "1"], - "message_to_appchain_segment": ["108", "109", "110", "111", "1", "112"], - "storage_updates": { - "42": { - "2010": "1200", - "2012": "1300" - } - }, - "nonce_updates": {}, - "contract_updates": {}, - "declared_classes": {} - } - "#; - - let input_2 = r#"{ - "prev_state_root": "1011", - "block_number": 102, - "block_hash": "1033", - "config_hash": "104", - "message_to_starknet_segment": ["135", "136", "1", "1"], - "message_to_appchain_segment": ["158", "159", "150", "151", "1", "152"], - "storage_updates": { - "42": { - "2010": "1250", - "2032": "1300" - } - }, - "nonce_updates": {}, - "contract_updates": {}, - "declared_classes": {} - }"#; - - let input_3 = r#"{ - "prev_state_root": "10111", - "block_number": 103, - "block_hash": "10333", - "config_hash": "104", - "message_to_starknet_segment": [], - "message_to_appchain_segment": [], - "storage_updates": { - "42": { - "2013": "2" - } - }, - "nonce_updates": {}, - "contract_updates": {}, - "declared_classes": {} - }"#; - - let input_4 = r#"{ - "prev_state_root": "101111", - "block_number": 104, - "block_hash": "103333", - "config_hash": "104", - "message_to_starknet_segment": ["165", "166", "1", "1"], - "message_to_appchain_segment": ["168", "169", "160", "161", "1", "162"], - "storage_updates": { - "42": { - "2010": "1700" - } - }, - "nonce_updates": {}, - "contract_updates": {}, - "declared_classes": {} - } - "#; - - let expected = r#"{ - "prev_state_root": "101", - "block_number": 104, - "block_hash": "103333", - "config_hash": "104", - "message_to_starknet_segment": ["105", "106", "1", "1", "135", "136", "1", "1", "165", "166", "1", "1"], - "message_to_appchain_segment": ["108", "109", "110", "111", "1", "112", "158", "159", "150", "151", "1", "152", "168", "169", "160", "161", "1", "162"], - "storage_updates": { - "42": { - "2010": "1700", - "2012": "1300", - "2032": "1300", - "2013": "2" - } - }, - "nonce_updates": {}, - "contract_updates": {}, - "declared_classes": {}, - "world_da": ["2010", "1700", "2012", "1300", "2032", "1300", "2013", "2"] - }"#; - - let inputs = vec![input_1, input_2, input_3, input_4] - .into_iter() - .map(|input| { - let mut input = serde_json::from_str::(input).unwrap(); - input.fill_da(world); - input - }) - .collect::>(); - - let expected = serde_json::from_str::(expected).unwrap(); - - let (_proof, output) = Scheduler::merge(inputs, world, prover_identifier()).await?; - assert_eq!(output.message_to_appchain_segment, expected.message_to_appchain_segment); - assert_eq!(output.message_to_starknet_segment, expected.message_to_starknet_segment); - - assert_eq!(sorted(output.world_da.unwrap()), sorted(expected.world_da.unwrap())); - assert_eq!(output.state_updates, expected.state_updates); - - assert_eq!(expected.prev_state_root, output.prev_state_root); - assert_eq!(expected.block_number, output.block_number); - assert_eq!(expected.block_hash, output.block_hash); - assert_eq!(expected.config_hash, output.config_hash); - - Ok(()) -} diff --git a/bin/scheduler/Cargo.toml b/bin/scheduler/Cargo.toml index 24c78ff1ef..4cfebae56b 100644 --- a/bin/scheduler/Cargo.toml +++ b/bin/scheduler/Cargo.toml @@ -8,6 +8,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +anyhow.workspace = true clap.workspace = true katana-primitives.workspace = true saya-core.workspace = true @@ -15,3 +16,4 @@ serde = { version = "1.0", features = [ "derive" ] } serde_json = "1.0" tokio.workspace = true url = "2.5.0" +starknet.workspace = true diff --git a/bin/scheduler/src/main.rs b/bin/scheduler/src/main.rs index 0bfea5be0b..7e12684f0a 100644 --- a/bin/scheduler/src/main.rs +++ b/bin/scheduler/src/main.rs @@ -2,11 +2,11 @@ use std::fs; use std::sync::Arc; use clap::Parser; -use katana_primitives::Felt; -use saya_core::prover::{HttpProverParams, ProgramInput, ProverIdentifier, Scheduler}; +use saya_core::prover::{HttpProverParams, ProgramInput}; use saya_core::ProverAccessKey; use serde::{Deserialize, Serialize}; use serde_json::{Map, Value}; +use starknet::core::types::Felt; use tokio::fs::File; use tokio::io::AsyncWriteExt; @@ -29,7 +29,7 @@ fn program_input_from_json(json_data: Value) -> ProgramInput { serde_json::from_value(json_data).unwrap() } -async fn prove_to_json(result: Vec) { +async fn _prove_to_json(result: Vec) { let mut file = File::create("result.json").await.expect("Failed to create file"); let mut json_map = Map::new(); @@ -46,7 +46,7 @@ async fn prove_to_json(result: Vec) { // Entry point of the program with async main function to handle I/O operations. #[tokio::main] -async fn main() { +async fn main() -> anyhow::Result<()> { use url::Url; let args = CliInput::parse(); // Parse CLI arguments. if args.files.is_empty() { @@ -59,7 +59,7 @@ async fn main() { } // Process each file, converting JSON data to ProgramInput. - let inputs: Vec = args + let _inputs: Vec = args .files .iter() .map(|file| { @@ -67,12 +67,19 @@ async fn main() { program_input_from_json(json_data) }) .collect(); - let prover_params = Arc::new(HttpProverParams { + let _prover_params = Arc::new(HttpProverParams { prover_url: Url::parse("http://localhost:3000").unwrap(), prover_key: ProverAccessKey::from_hex_string(&args.key).unwrap(), }); - let result = - Scheduler::merge(inputs, args.world, ProverIdentifier::Http(prover_params)).await.unwrap(); - prove_to_json(vec![result.0]).await; + // let (proof, _) = + // Scheduler::merge(inputs, args.world, + // ProverIdentifier::Http(prover_params)).await.unwrap(); + + // let proof = + // proof.to_felts().into_iter().map(|f| f.to_hex_string()).collect::>().join(" "); + + // println!("{}", proof); + + Ok(()) } diff --git a/bin/sozo/src/commands/options/account/controller.rs b/bin/sozo/src/commands/options/account/controller.rs index 8e85dd7822..4f58ad6ca5 100644 --- a/bin/sozo/src/commands/options/account/controller.rs +++ b/bin/sozo/src/commands/options/account/controller.rs @@ -1,28 +1,24 @@ -use std::str::FromStr; use std::sync::Arc; use anyhow::{bail, Context, Result}; use camino::{Utf8Path, Utf8PathBuf}; -use dojo_utils::TransactionWaiter; use dojo_world::contracts::naming::get_name_from_tag; use dojo_world::manifest::{BaseManifest, Class, DojoContract, Manifest}; use dojo_world::migration::strategy::generate_salt; use scarb::core::Config; -use slot::account_sdk::account::session::hash::{AllowedMethod, ProvedMethod}; +use slot::account_sdk::account::session::hash::{Policy, ProvedPolicy}; use slot::account_sdk::account::session::merkle::MerkleTree; use slot::account_sdk::account::session::SessionAccount; use slot::session::{FullSessionInfo, PolicyMethod}; use starknet::core::types::contract::{AbiEntry, StateMutability}; -use starknet::core::types::StarknetError::ContractNotFound; -use starknet::core::types::{BlockId, BlockTag, Felt}; +use starknet::core::types::Felt; use starknet::core::utils::{ cairo_short_string_to_felt, get_contract_address, get_selector_from_name, }; use starknet::macros::felt; use starknet::providers::Provider; -use starknet::providers::ProviderError::StarknetError; use starknet_crypto::poseidon_hash_single; -use tracing::{trace, warn}; +use tracing::trace; use url::Url; use super::WorldAddressOrName; @@ -37,6 +33,16 @@ use super::WorldAddressOrName; pub type ControllerSessionAccount

= SessionAccount>; /// Create a new Catridge Controller account based on session key. +/// +/// For now, Controller guarantees that if the provided network is among one of the supported +/// networks, then the Controller account should exist. If it doesn't yet exist, it will +/// automatically be created when a session is created (ie during the session registration stage). +/// +/// # Supported networks +/// +/// * Starknet mainnet +/// * Starknet sepolia +/// * Slot hosted networks #[tracing::instrument( name = "create_controller", skip(rpc_url, provider, world_addr_or_name, config) @@ -54,38 +60,33 @@ where P: Send + Sync, { let chain_id = provider.chain_id().await?; - let credentials = slot::credential::Credentials::load()?; + trace!(target: "account::controller", "Loading Slot credentials."); + let credentials = slot::credential::Credentials::load()?; let username = credentials.account.id; - let contract_address = credentials.account.contract_address; - - trace!( - %username, - chain = format!("{chain_id:#x}"), - address = format!("{contract_address:#x}"), - "Creating Controller session account" - ); - // make sure account exist on the provided chain, if not, we deploy it first before proceeding - deploy_account_if_not_exist(rpc_url.clone(), &provider, chain_id, contract_address, &username) - .await - .with_context(|| format!("Deploying Controller account on chain {chain_id}"))?; + // Right now, the Cartridge Controller API ensures that there's always a Controller associated + // with an account, but that might change in the future. + let Some(contract_address) = credentials.account.controllers.first().map(|c| c.address) else { + bail!("No Controller is associated with this account."); + }; // Check if the session exists, if not create a new one let session_details = match slot::session::get(chain_id)? { Some(session) => { - trace!(expires_at = %session.session.expires_at, policies = session.session.allowed_methods.len(), "Found existing session."); + trace!(target: "account::controller", expires_at = %session.session.expires_at, policies = session.session.policies.len(), "Found existing session."); + // Check if the policies have changed let policies = collect_policies(world_addr_or_name, contract_address, config)?; - // check if the policies have changed let is_equal = is_equal_to_existing(&policies, &session); if is_equal { session } else { trace!( + target: "account::controller", new_policies = policies.len(), - existing_policies = session.session.allowed_methods.len(), + existing_policies = session.session.policies.len(), "Policies have changed. Creating new session." ); @@ -97,7 +98,7 @@ where // Create a new session if not found None => { - trace!(%username, chain = format!("{chain_id:#}"), "Creating new session."); + trace!(target: "account::controller", %username, chain = format!("{chain_id:#}"), "Creating new session."); let policies = collect_policies(world_addr_or_name, contract_address, config)?; let session = slot::session::create(rpc_url.clone(), &policies).await?; slot::session::store(chain_id, &session)?; @@ -113,26 +114,25 @@ where // This function would compute the merkle root of the new policies and compare it with the root in // the existing SessionMetadata. fn is_equal_to_existing(new_policies: &[PolicyMethod], session_info: &FullSessionInfo) -> bool { - let allowed_methods = new_policies + let new_policies = new_policies .iter() - .map(|p| AllowedMethod::new(p.target, get_selector_from_name(&p.method).unwrap())) - .collect::>(); + .map(|p| Policy::new(p.target, get_selector_from_name(&p.method).unwrap())) + .collect::>(); - // Copied from somewhere - let hashes = allowed_methods.iter().map(AllowedMethod::as_merkle_leaf).collect::>(); + // Copied from Session::new + let hashes = new_policies.iter().map(Policy::as_merkle_leaf).collect::>(); - let allowed_methods = allowed_methods + let new_policies = new_policies .into_iter() .enumerate() - .map(|(i, method)| ProvedMethod { - method, + .map(|(i, policy)| ProvedPolicy { + policy, proof: MerkleTree::compute_proof(hashes.clone(), i), }) - .collect::>(); - - let root = MerkleTree::compute_root(hashes[0], allowed_methods[0].proof.clone()); + .collect::>(); - root == session_info.session.allowed_methods_root + let new_policies_root = MerkleTree::compute_root(hashes[0], new_policies[0].proof.clone()); + new_policies_root == session_info.session.authorization_root } /// Policies are the building block of a session key. It's what defines what methods are allowed for @@ -149,7 +149,7 @@ fn collect_policies( let manifest = get_project_base_manifest(root_dir, config.profile().as_str())?; let policies = collect_policies_from_base_manifest(world_addr_or_name, user_address, root_dir, manifest)?; - trace!(policies_count = policies.len(), "Extracted policies from project."); + trace!(target: "account::controller", policies_count = policies.len(), "Extracted policies from project."); Ok(policies) } @@ -188,14 +188,14 @@ fn collect_policies_from_base_manifest( // corresponds to [account_sdk::account::DECLARATION_SELECTOR] let method = "__declare_transaction__".to_string(); policies.push(PolicyMethod { target: user_address, method }); - trace!("Adding declare transaction policy"); + trace!(target: "account::controller", "Adding declare transaction policy"); // for deploying using udc let method = "deployContract".to_string(); const UDC_ADDRESS: Felt = felt!("0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf"); policies.push(PolicyMethod { target: UDC_ADDRESS, method }); - trace!("Adding UDC deployment policy"); + trace!(target: "account::controller", "Adding UDC deployment policy"); Ok(policies) } @@ -215,7 +215,7 @@ fn policies_from_abis( if let StateMutability::External = f.state_mutability { let policy = PolicyMethod { target: contract_address, method: f.name.to_string() }; - trace!(tag = contract_tag, target = format!("{:#x}", policy.target), method = %policy.method, "Adding policy"); + trace!(target: "account::controller", tag = contract_tag, target = format!("{:#x}", policy.target), method = %policy.method, "Adding policy"); policies.push(policy); } } @@ -270,95 +270,6 @@ fn get_dojo_world_address( } } -/// This function will call the `cartridge_deployController` method to deploy the account if it -/// doesn't yet exist on the chain. But this JSON-RPC method is only available on Katana deployed on -/// Slot. If the `rpc_url` is not a Slot url, it will return an error. -/// -/// `cartridge_deployController` is not a method that Katana itself exposes. It's from a middleware -/// layer that is deployed on top of the Katana deployment on Slot. This method will deploy the -/// contract of a user based on the Slot deployment. -async fn deploy_account_if_not_exist

( - rpc_url: Url, - provider: &P, - chain_id: Felt, - address: Felt, - username: &str, -) -> Result<()> -where - P: Provider + Send, -{ - use reqwest::Client; - use serde_json::json; - - // Check if the account exists on the chain - match provider.get_class_at(BlockId::Tag(BlockTag::Pending), address).await { - Ok(_) => Ok(()), - - // if account doesn't exist, deploy it by calling `cartridge_deployController` method - Err(err @ StarknetError(ContractNotFound)) => { - trace!( - %username, - chain = format!("{chain_id:#}"), - address = format!("{address:#x}"), - "Controller does not exist on chain. Attempting to deploy..." - ); - - // Skip deployment if the rpc_url is not a Slot instance - if !rpc_url.host_str().map_or(false, |host| host.contains("api.cartridge.gg")) { - warn!(%rpc_url, "Unable to deploy Controller on non-Slot instance."); - bail!("Controller with username '{username}' does not exist: {err}"); - } - - let body = json!({ - "id": 1, - "jsonrpc": "2.0", - "params": { "id": username }, - "method": "cartridge_deployController", - }); - - // The response object is in the form: - // - // { - // "id": 1, - // "jsonrpc": "2.0", - // "result": { - // "already_deployed": false, - // "transaction_hash": "0x12345" - // } - // } - let res = Client::new() - .post(rpc_url) - .json(&body) - .send() - .await? - .error_for_status() - .context("Failed to deploy controller")?; - - // TODO: handle this more elegantly - let response = res.json::().await?; - let hex = response["result"]["transaction_hash"] - .as_str() - .context("Failed to get Controller deployment transaction hash from response")?; - - // wait for deployment tx to finish - let tx_hash = Felt::from_str(hex)?; - let _ = TransactionWaiter::new(tx_hash, provider).await?; - - trace!( - %username, - chain = format!("{chain_id:#}"), - address = format!("{address:#x}"), - tx = format!("{tx_hash:#x}"), - "Controller deployed successfully.", - ); - - Ok(()) - } - - Err(e) => bail!(e), - } -} - #[cfg(test)] mod tests { use dojo_test_utils::compiler::CompilerTestSetup; @@ -374,7 +285,7 @@ mod tests { .build_test_config("spawn-and-move", Profile::DEV); let world_addr = felt!("0x74c73d35df54ddc53bcf34aab5e0dbb09c447e99e01f4d69535441253c9571a"); - let user_addr = felt!("0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03"); + let user_addr = felt!("0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba"); let policies = collect_policies(WorldAddressOrName::Address(world_addr), user_addr, &config).unwrap(); diff --git a/bin/sozo/tests/test_data/compiled_contracts/test_contract.json b/bin/sozo/tests/test_data/compiled_contracts/test_contract.json index c7a135aa79..1a7a8eec97 120000 --- a/bin/sozo/tests/test_data/compiled_contracts/test_contract.json +++ b/bin/sozo/tests/test_data/compiled_contracts/test_contract.json @@ -1 +1 @@ -../../../../../crates/katana/contracts/compiled/cairo1_contract.json \ No newline at end of file +../../../../../crates/katana/contracts/build/cairo1_contract.json \ No newline at end of file diff --git a/bin/sozo/tests/test_data/policies.json b/bin/sozo/tests/test_data/policies.json index 60b4ca826e..72785ac8f3 100644 --- a/bin/sozo/tests/test_data/policies.json +++ b/bin/sozo/tests/test_data/policies.json @@ -128,7 +128,7 @@ "method": "set_facts_registry" }, { - "target": "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03", + "target": "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba", "method": "__declare_transaction__" }, { diff --git a/bin/torii/Cargo.toml b/bin/torii/Cargo.toml index 977764b26d..aadbd390cd 100644 --- a/bin/torii/Cargo.toml +++ b/bin/torii/Cargo.toml @@ -46,6 +46,7 @@ tracing-subscriber.workspace = true tracing.workspace = true url.workspace = true webbrowser = "0.8" +tempfile.workspace = true [dev-dependencies] camino.workspace = true diff --git a/bin/torii/src/main.rs b/bin/torii/src/main.rs index cf568429ce..65ba340c16 100644 --- a/bin/torii/src/main.rs +++ b/bin/torii/src/main.rs @@ -11,11 +11,14 @@ //! for more info. use std::cmp; +use std::collections::VecDeque; use std::net::SocketAddr; +use std::path::PathBuf; use std::str::FromStr; use std::sync::Arc; use std::time::Duration; +use anyhow::Context; use clap::{ArgAction, Parser}; use dojo_metrics::{metrics_process, prometheus_exporter}; use dojo_utils::parse::{parse_socket_address, parse_url}; @@ -27,22 +30,16 @@ use sqlx::SqlitePool; use starknet::core::types::Felt; use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::JsonRpcClient; +use tempfile::NamedTempFile; use tokio::sync::broadcast; use tokio::sync::broadcast::Sender; use tokio_stream::StreamExt; use torii_core::engine::{Engine, EngineConfig, IndexingFlags, Processors}; -use torii_core::processors::event_message::EventMessageProcessor; -use torii_core::processors::generate_event_processors_map; -use torii_core::processors::metadata_update::MetadataUpdateProcessor; -use torii_core::processors::register_model::RegisterModelProcessor; -use torii_core::processors::store_del_record::StoreDelRecordProcessor; -use torii_core::processors::store_set_record::StoreSetRecordProcessor; +use torii_core::executor::Executor; use torii_core::processors::store_transaction::StoreTransactionProcessor; -use torii_core::processors::store_update_member::StoreUpdateMemberProcessor; -use torii_core::processors::store_update_record::StoreUpdateRecordProcessor; use torii_core::simple_broker::SimpleBroker; use torii_core::sql::Sql; -use torii_core::types::Model; +use torii_core::types::{Contract, ContractType, Model, ToriiConfig}; use torii_server::proxy::Proxy; use tracing::{error, info}; use tracing_subscriber::{fmt, EnvFilter}; @@ -56,7 +53,7 @@ pub(crate) const LOG_TARGET: &str = "torii::cli"; struct Args { /// The world to index #[arg(short, long = "world", env = "DOJO_WORLD_ADDRESS")] - world_address: Felt, + world_address: Option, /// The sequencer rpc endpoint to index. #[arg(long, value_name = "URL", default_value = ":5050", value_parser = parse_url)] @@ -64,13 +61,9 @@ struct Args { /// Database filepath (ex: indexer.db). If specified file doesn't exist, it will be /// created. Defaults to in-memory database - #[arg(short, long, default_value = ":memory:")] + #[arg(short, long, default_value = "")] database: String, - /// Specify a block to start indexing from, ignored if stored head exists - #[arg(short, long, default_value = "0")] - start_block: u64, - /// Address to serve api endpoints at. #[arg(long, value_name = "SOCKET", default_value = "0.0.0.0:8080", value_parser = parse_socket_address)] addr: SocketAddr, @@ -121,6 +114,10 @@ struct Args { #[arg(long, default_value = "1024")] events_chunk_size: u64, + /// Number of blocks to process before commiting to DB + #[arg(long, default_value = "10240")] + blocks_chunk_size: u64, + /// Enable indexing pending blocks #[arg(long, action = ArgAction::Set, default_value_t = true)] index_pending: bool, @@ -140,11 +137,35 @@ struct Args { /// Whether or not to index raw events #[arg(long, action = ArgAction::Set, default_value_t = true)] index_raw_events: bool, + + /// ERC contract addresses to index + #[arg(long, value_parser = parse_erc_contracts)] + #[arg(conflicts_with = "config")] + contracts: Option>, + + /// Configuration file + #[arg(long)] + config: Option, } #[tokio::main] async fn main() -> anyhow::Result<()> { let args = Args::parse(); + + let mut config = if let Some(path) = args.config { + ToriiConfig::load_from_path(&path)? + } else { + let mut config = ToriiConfig::default(); + + if let Some(contracts) = args.contracts { + config.contracts = VecDeque::from(contracts); + } + + config + }; + + let world_address = verify_single_world_address(args.world_address, &mut config)?; + let filter_layer = EnvFilter::try_from_default_env() .unwrap_or_else(|_| EnvFilter::new("info,hyper_reverse_proxy=off")); @@ -163,8 +184,12 @@ async fn main() -> anyhow::Result<()> { }) .expect("Error setting Ctrl-C handler"); + let tempfile = NamedTempFile::new()?; + let database_path = + if args.database.is_empty() { tempfile.path().to_str().unwrap() } else { &args.database }; + let mut options = - SqliteConnectOptions::from_str(&args.database)?.create_if_missing(true).with_regexp(); + SqliteConnectOptions::from_str(database_path)?.create_if_missing(true).with_regexp(); // Performance settings options = options.auto_vacuum(SqliteAutoVacuum::None); @@ -183,20 +208,19 @@ async fn main() -> anyhow::Result<()> { let provider: Arc<_> = JsonRpcClient::new(HttpTransport::new(args.rpc)).into(); // Get world address - let world = WorldContractReader::new(args.world_address, provider.clone()); + let world = WorldContractReader::new(world_address, provider.clone()); - let db = Sql::new(pool.clone(), args.world_address).await?; + let contracts = + config.contracts.iter().map(|contract| (contract.address, contract.r#type)).collect(); + + let (mut executor, sender) = Executor::new(pool.clone(), shutdown_tx.clone()).await?; + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + + let db = Sql::new(pool.clone(), sender.clone(), &contracts).await?; let processors = Processors { - event: generate_event_processors_map(vec![ - Arc::new(RegisterModelProcessor), - Arc::new(StoreSetRecordProcessor), - Arc::new(MetadataUpdateProcessor), - Arc::new(StoreDelRecordProcessor), - Arc::new(EventMessageProcessor), - Arc::new(StoreUpdateRecordProcessor), - Arc::new(StoreUpdateMemberProcessor), - ])?, transaction: vec![Box::new(StoreTransactionProcessor)], ..Processors::default() }; @@ -218,7 +242,8 @@ async fn main() -> anyhow::Result<()> { processors, EngineConfig { max_concurrent_tasks: args.max_concurrent_tasks, - start_block: args.start_block, + start_block: 0, + blocks_chunk_size: args.blocks_chunk_size, events_chunk_size: args.events_chunk_size, index_pending: args.index_pending, polling_interval: Duration::from_millis(args.polling_interval), @@ -226,17 +251,13 @@ async fn main() -> anyhow::Result<()> { }, shutdown_tx.clone(), Some(block_tx), + Arc::new(contracts), ); let shutdown_rx = shutdown_tx.subscribe(); - let (grpc_addr, grpc_server) = torii_grpc::server::new( - shutdown_rx, - &pool, - block_rx, - args.world_address, - Arc::clone(&provider), - ) - .await?; + let (grpc_addr, grpc_server) = + torii_grpc::server::new(shutdown_rx, &pool, block_rx, world_address, Arc::clone(&provider)) + .await?; let mut libp2p_relay_server = torii_relay::server::Relay::new( db, @@ -287,18 +308,45 @@ async fn main() -> anyhow::Result<()> { .await?; } + let engine_handle = tokio::spawn(async move { engine.start().await }); + let proxy_server_handle = + tokio::spawn(async move { proxy_server.start(shutdown_tx.subscribe()).await }); + let graphql_server_handle = tokio::spawn(graphql_server); + let grpc_server_handle = tokio::spawn(grpc_server); + let libp2p_relay_server_handle = tokio::spawn(async move { libp2p_relay_server.run().await }); + tokio::select! { - res = engine.start() => res?, - _ = proxy_server.start(shutdown_tx.subscribe()) => {}, - _ = graphql_server => {}, - _ = grpc_server => {}, - _ = libp2p_relay_server.run() => {}, + res = engine_handle => res??, + res = proxy_server_handle => res??, + res = graphql_server_handle => res?, + res = grpc_server_handle => res??, + res = libp2p_relay_server_handle => res?, _ = dojo_utils::signal::wait_signals() => {}, }; Ok(()) } +// Verifies that the world address is defined at most once +// and returns the world address +fn verify_single_world_address( + world_address: Option, + config: &mut ToriiConfig, +) -> anyhow::Result { + let world_from_config = + config.contracts.iter().find(|c| c.r#type == ContractType::WORLD).map(|c| c.address); + + match (world_address, world_from_config) { + (Some(_), Some(_)) => Err(anyhow::anyhow!("World address specified multiple times")), + (Some(addr), _) => { + config.contracts.push_front(Contract { address: addr, r#type: ContractType::WORLD }); + Ok(addr) + } + (_, Some(addr)) => Ok(addr), + (None, None) => Err(anyhow::anyhow!("World address not specified")), + } +} + async fn spawn_rebuilding_graphql_server( shutdown_tx: Sender<()>, pool: Arc, @@ -322,3 +370,29 @@ async fn spawn_rebuilding_graphql_server( } } } + +// Parses clap cli argument which is expected to be in the format: +// - erc_type:address:start_block +// - address:start_block (erc_type defaults to ERC20) +fn parse_erc_contracts(s: &str) -> anyhow::Result> { + let parts: Vec<&str> = s.split(',').collect(); + let mut contracts = Vec::new(); + for part in parts { + match part.split(':').collect::>().as_slice() { + [r#type, address] => { + let r#type = r#type.parse::()?; + let address = Felt::from_str(address) + .with_context(|| format!("Expected address, found {}", address))?; + contracts.push(Contract { address, r#type }); + } + [address] => { + let r#type = ContractType::WORLD; + let address = Felt::from_str(address) + .with_context(|| format!("Expected address, found {}", address))?; + contracts.push(Contract { address, r#type }); + } + _ => return Err(anyhow::anyhow!("Invalid contract format")), + } + } + Ok(contracts) +} diff --git a/bin/torii/torii.toml b/bin/torii/torii.toml new file mode 100644 index 0000000000..93a444170f --- /dev/null +++ b/bin/torii/torii.toml @@ -0,0 +1,6 @@ +# Example configuration file for Torii +# contracts = [ +# { type = "WORLD", address = "" }, +# { type = "ERC20", address = "" }, +# { type = "ERC721", address = "" }, +# ] \ No newline at end of file diff --git a/crates/benches/contracts/Scarb.toml b/crates/benches/contracts/Scarb.toml index e88b6bc892..342a1fab1a 100644 --- a/crates/benches/contracts/Scarb.toml +++ b/crates/benches/contracts/Scarb.toml @@ -17,7 +17,7 @@ initializer_class_hash = "0xbeef" [tool.dojo.env] # rpc_url = "http://localhost:5050/" # Default account for katana with seed = 0 -account_address = "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" +account_address = "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" private_key = "0x1800000000300000180000000000030000000000003006001800006600" [tool.dojo.world.namespace] diff --git a/crates/dojo-core/src/contract/contract.cairo b/crates/dojo-core/src/contract/contract.cairo index 1c0c7130c8..462d02d54b 100644 --- a/crates/dojo-core/src/contract/contract.cairo +++ b/crates/dojo-core/src/contract/contract.cairo @@ -1,9 +1,8 @@ #[starknet::interface] pub trait IContract { - fn contract_name(self: @T) -> ByteArray; + fn name(self: @T) -> ByteArray; fn namespace(self: @T) -> ByteArray; fn tag(self: @T) -> ByteArray; - fn name_hash(self: @T) -> felt252; fn namespace_hash(self: @T) -> felt252; fn selector(self: @T) -> felt252; diff --git a/crates/dojo-core/src/tests/world/resources.cairo b/crates/dojo-core/src/tests/world/resources.cairo index 94702f02a7..f553085026 100644 --- a/crates/dojo-core/src/tests/world/resources.cairo +++ b/crates/dojo-core/src/tests/world/resources.cairo @@ -354,7 +354,7 @@ fn test_deploy_contract_for_namespace_owner() { let event = event.unwrap(); assert(event.salt == 'salt1', 'bad event salt'); assert(event.class_hash == class_hash, 'bad class_hash'); - assert(event.name == dispatcher.contract_name(), 'bad contract name'); + assert(event.name == dispatcher.name(), 'bad contract name'); assert(event.namespace == dispatcher.namespace(), 'bad namespace'); assert( event.address != core::num::traits::Zero::::zero(), 'bad contract address' diff --git a/crates/dojo-core/src/world/world_contract.cairo b/crates/dojo-core/src/world/world_contract.cairo index f2b151b64c..c9675a1b41 100644 --- a/crates/dojo-core/src/world/world_contract.cairo +++ b/crates/dojo-core/src/world/world_contract.cairo @@ -633,7 +633,7 @@ pub mod world { let dispatcher = IContractDispatcher { contract_address }; let namespace = dispatcher.namespace(); - let name = dispatcher.contract_name(); + let name = dispatcher.name(); let namespace_hash = dispatcher.namespace_hash(); if !self.is_namespace_registered(namespace_hash) { diff --git a/crates/dojo-lang/Cargo.toml b/crates/dojo-lang/Cargo.toml index 9ea864b22e..54856968ca 100644 --- a/crates/dojo-lang/Cargo.toml +++ b/crates/dojo-lang/Cargo.toml @@ -11,15 +11,11 @@ testing = [ ] [dependencies] anyhow.workspace = true -cainome.workspace = true cairo-lang-compiler.workspace = true -cairo-lang-debug.workspace = true cairo-lang-defs.workspace = true cairo-lang-diagnostics.workspace = true cairo-lang-filesystem.workspace = true cairo-lang-formatter.workspace = true -cairo-lang-lowering.workspace = true -cairo-lang-parser.workspace = true cairo-lang-plugins.workspace = true cairo-lang-project.workspace = true cairo-lang-semantic.workspace = true @@ -31,35 +27,28 @@ cairo-lang-test-plugin.workspace = true cairo-lang-utils.workspace = true camino.workspace = true convert_case.workspace = true -directories = "5" -dojo-types = { path = "../dojo-types" } -dojo-world = { path = "../dojo-world", features = [ "manifest", "metadata" ] } +dojo-types.workspace = true +dojo-world = { workspace = true, features = [ "manifest", "metadata" ] } indoc.workspace = true itertools.workspace = true -lazy_static.workspace = true -num-traits.workspace = true -once_cell.workspace = true regex.workspace = true -salsa.workspace = true scarb.workspace = true scarb-ui.workspace = true semver.workspace = true serde.workspace = true serde_json.workspace = true -serde_with.workspace = true smol_str.workspace = true starknet.workspace = true -starknet-crypto.workspace = true -thiserror.workspace = true toml.workspace = true tracing.workspace = true url.workspace = true [dev-dependencies] -assert_fs.workspace = true +cairo-lang-debug.workspace = true +cairo-lang-parser.workspace = true cairo-lang-semantic.workspace = true cairo-lang-test-utils.workspace = true -dojo-test-utils = { path = "../dojo-test-utils" } -env_logger = "0.10.0" -pretty_assertions.workspace = true +dojo-test-utils.workspace = true +once_cell.workspace = true +salsa.workspace = true test-log.workspace = true diff --git a/crates/dojo-lang/src/contract.rs b/crates/dojo-lang/src/contract.rs index 23810b113b..1617d34ddf 100644 --- a/crates/dojo-lang/src/contract.rs +++ b/crates/dojo-lang/src/contract.rs @@ -185,7 +185,7 @@ impl DojoContract { #[abi(embed_v0)] pub impl ContractImpl of IContract { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { \"$name$\" } diff --git a/crates/dojo-lang/src/lib.rs b/crates/dojo-lang/src/lib.rs index 4ed4b70c41..234fe5eb3a 100644 --- a/crates/dojo-lang/src/lib.rs +++ b/crates/dojo-lang/src/lib.rs @@ -1,3 +1,5 @@ +#![warn(unused_crate_dependencies)] + //! Dojo capabilities and utilities on top of Starknet. //! //! Dojo is a full stack toolchain for developing onchain games in Cairo. diff --git a/crates/dojo-lang/src/manifest_test_data/compiler_cairo/manifests/dev/base/dojo-world.toml b/crates/dojo-lang/src/manifest_test_data/compiler_cairo/manifests/dev/base/dojo-world.toml index fcb2f0e910..4dfc391ebd 100644 --- a/crates/dojo-lang/src/manifest_test_data/compiler_cairo/manifests/dev/base/dojo-world.toml +++ b/crates/dojo-lang/src/manifest_test_data/compiler_cairo/manifests/dev/base/dojo-world.toml @@ -1,6 +1,6 @@ kind = "Class" -class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" -original_class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" +class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" +original_class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" abi = "manifests/dev/base/abis/dojo-world.json" tag = "dojo-world" manifest_name = "dojo-world" diff --git a/crates/dojo-lang/src/plugin_test_data/system b/crates/dojo-lang/src/plugin_test_data/system index 392a84efd9..2d53e0fb5d 100644 --- a/crates/dojo-lang/src/plugin_test_data/system +++ b/crates/dojo-lang/src/plugin_test_data/system @@ -661,7 +661,7 @@ impl StorageStorageBaseMutCopy of core::traits::Copy::; #[abi(embed_v0)] pub impl ContractImpl of IContract { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "bad_namespace_format" } @@ -921,7 +921,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -931,7 +931,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "spawn" } @@ -1746,7 +1746,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -1756,7 +1756,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "proxy" } @@ -2568,7 +2568,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -2578,7 +2578,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "ctxnamed" } @@ -3393,7 +3393,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -3403,7 +3403,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "withevent" } @@ -4251,7 +4251,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -4261,7 +4261,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "withcomponent" } @@ -4971,7 +4971,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -4981,7 +4981,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "MyFaultyContract" } @@ -6021,7 +6021,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -6031,7 +6031,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "MyNominalContract" } @@ -7027,7 +7027,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -7037,7 +7037,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "init_test" } @@ -8039,7 +8039,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -8049,7 +8049,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: { - fn contract_name(self: @ContractState) -> ByteArray { + fn name(self: @ContractState) -> ByteArray { "no_init_test" } @@ -8869,7 +8869,7 @@ pub fn unsafe_new_contract_state() -> ContractState { use starknet::storage::Map as LegacyMap; #[implicit_precedence(core::pedersen::Pedersen, core::RangeCheck, core::integer::Bitwise, core::ec::EcOp, core::poseidon::Poseidon, core::SegmentArena, core::circuit::RangeCheck96, core::circuit::AddMod, core::circuit::MulMod, core::gas::GasBuiltin, System)] -fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span:: { +fn __wrapper__ContractImpl__name(mut data: Span::) -> Span:: { core::internal::require_implicit::(); core::internal::revoke_ap_tracking(); core::option::OptionTraitImpl::expect(core::gas::withdraw_gas(), 'Out of gas'); @@ -8879,7 +8879,7 @@ fn __wrapper__ContractImpl__contract_name(mut data: Span::) -> Span::) -> Span:: Self { - let server_config = ServerConfig { - port: 0, - metrics: None, - host: "127.0.0.1".into(), - max_connections: 100, - allowed_origins: None, - apis: vec![ApiKind::Starknet, ApiKind::Dev, ApiKind::Saya, ApiKind::Torii], - }; - - let node = katana_node::start(server_config, config, starknet_config) + pub async fn start(config: Config) -> Self { + let handle = katana_node::build(config) + .await + .expect("Failed to build node components") + .launch() .await - .expect("Failed to build node components"); + .expect("Failed to launch node"); - let url = Url::parse(&format!("http://{}", node.rpc.addr)).expect("Failed to parse URL"); + let url = Url::parse(&format!("http://{}", handle.rpc.addr)).expect("Failed to parse URL"); - let account = node.backend.config.genesis.accounts().next().unwrap(); + let account = handle.node.backend.chain_spec.genesis.accounts().next().unwrap(); let account = TestAccount { private_key: Felt::from_bytes_be(&account.1.private_key().unwrap().to_bytes_be()), account_address: Felt::from_bytes_be(&account.0.to_bytes_be()), }; - TestSequencer { handle: node, account, url } + TestSequencer { handle, account, url } } pub fn account(&self) -> SingleOwnerAccount, LocalWallet> { @@ -79,15 +73,15 @@ impl TestSequencer { } pub fn backend(&self) -> &Arc> { - &self.handle.backend + &self.handle.node.backend } pub fn account_at_index( &self, index: usize, ) -> SingleOwnerAccount, LocalWallet> { - #[allow(deprecated)] - let accounts: Vec<_> = self.handle.backend.config.genesis.accounts().collect::<_>(); + let accounts: Vec<_> = + self.handle.node.backend.chain_spec.genesis.accounts().collect::<_>(); let account = accounts[index]; let private_key = Felt::from_bytes_be(&account.1.private_key().unwrap().to_bytes_be()); @@ -119,13 +113,18 @@ impl TestSequencer { } } -pub fn get_default_test_starknet_config() -> StarknetConfig { - let mut cfg = StarknetConfig { - disable_fee: true, - env: Environment { chain_id: ChainId::SEPOLIA, ..Default::default() }, - ..Default::default() +pub fn get_default_test_config(sequencing: SequencingConfig) -> Config { + let dev = DevConfig { fee: false, account_validation: true }; + let mut chain = ChainSpec { id: ChainId::SEPOLIA, ..Default::default() }; + chain.genesis.sequencer_address = *DEFAULT_SEQUENCER_ADDRESS; + + let rpc = RpcConfig { + allowed_origins: None, + port: 0, + addr: DEFAULT_RPC_ADDR, + max_connections: DEFAULT_RPC_MAX_CONNECTIONS, + apis: HashSet::from([ApiKind::Starknet, ApiKind::Dev, ApiKind::Saya, ApiKind::Torii]), }; - cfg.genesis.sequencer_address = *DEFAULT_SEQUENCER_ADDRESS; - cfg + Config { sequencing, rpc, dev, chain, ..Default::default() } } diff --git a/crates/dojo-types/src/schema.rs b/crates/dojo-types/src/schema.rs index 810a73de58..943996d7ef 100644 --- a/crates/dojo-types/src/schema.rs +++ b/crates/dojo-types/src/schema.rs @@ -327,7 +327,7 @@ pub struct EnumOption { } impl Enum { - pub fn option(&self) -> Result { + pub fn option(&self) -> Result<&EnumOption, EnumError> { let option: usize = if let Some(option) = self.option { option as usize } else { @@ -338,7 +338,7 @@ impl Enum { return Err(EnumError::OptionInvalid); } - Ok(self.options[option].name.clone()) + Ok(&self.options[option]) } pub fn set_option(&mut self, name: &str) -> Result<(), EnumError> { @@ -352,7 +352,7 @@ impl Enum { } pub fn to_sql_value(&self) -> Result { - self.option() + self.option().map(|option| option.name.clone()) } } @@ -448,7 +448,7 @@ fn format_member(m: &Member) -> String { } } else if let Ty::Enum(e) = &m.ty { match e.option() { - Ok(option) => str.push_str(&format!(" = {option}")), + Ok(option) => str.push_str(&format!(" = {}", option.name)), Err(_) => str.push_str(" = Invalid Option"), } } diff --git a/crates/dojo-utils/src/tx/waiter.rs b/crates/dojo-utils/src/tx/waiter.rs index 76e37637dd..e02dc55864 100644 --- a/crates/dojo-utils/src/tx/waiter.rs +++ b/crates/dojo-utils/src/tx/waiter.rs @@ -301,10 +301,7 @@ fn finality_status_from_receipt(receipt: &TransactionReceipt) -> TransactionFina #[cfg(test)] mod tests { use assert_matches::assert_matches; - #[allow(deprecated)] - use dojo_test_utils::sequencer::{ - get_default_test_starknet_config, SequencerConfig, TestSequencer, - }; + use dojo_test_utils::sequencer::{get_default_test_config, TestSequencer}; use starknet::core::types::ExecutionResult::{Reverted, Succeeded}; use starknet::core::types::TransactionFinalityStatus::{self, AcceptedOnL1, AcceptedOnL2}; use starknet::core::types::{ @@ -319,11 +316,8 @@ mod tests { use super::{Duration, TransactionWaiter}; use crate::TransactionWaitingError; - #[allow(deprecated)] async fn create_test_sequencer() -> (TestSequencer, JsonRpcClient) { - let sequencer = - TestSequencer::start(SequencerConfig::default(), get_default_test_starknet_config()) - .await; + let sequencer = TestSequencer::start(get_default_test_config(Default::default())).await; let provider = JsonRpcClient::new(HttpTransport::new(sequencer.url())); (sequencer, provider) } diff --git a/crates/dojo-world/src/manifest/mod.rs b/crates/dojo-world/src/manifest/mod.rs index e7a067746a..9f33421770 100644 --- a/crates/dojo-world/src/manifest/mod.rs +++ b/crates/dojo-world/src/manifest/mod.rs @@ -331,8 +331,7 @@ impl OverlayManifest { impl DeploymentManifest { pub fn load_from_path(path: &Utf8PathBuf) -> Result { - let manifest: Self = toml::from_str(&fs::read_to_string(path)?).unwrap(); - + let manifest: Self = toml::from_str(&fs::read_to_string(path)?)?; Ok(manifest) } diff --git a/crates/dojo-world/src/metadata_test.rs b/crates/dojo-world/src/metadata_test.rs index d3bea86ccf..46d9fb7851 100644 --- a/crates/dojo-world/src/metadata_test.rs +++ b/crates/dojo-world/src/metadata_test.rs @@ -62,7 +62,7 @@ async fn get_full_dojo_metadata_from_workspace() { assert!( env.account_address .unwrap() - .eq("0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03") + .eq("0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba") ); assert!(env.private_key.is_some()); diff --git a/crates/katana/cairo/Cargo.toml b/crates/katana/cairo/Cargo.toml index 09faeab388..22672107a6 100644 --- a/crates/katana/cairo/Cargo.toml +++ b/crates/katana/cairo/Cargo.toml @@ -18,4 +18,4 @@ cairo-lang-starknet = "2.7.0" cairo-lang-starknet-classes = "2.7.0" cairo-lang-utils = "2.7.0" cairo-vm = "1.0.1" -starknet_api = { git = "https://github.com/dojoengine/sequencer", tag = "v0.8.0-rc3.1" } +starknet_api = { git = "https://github.com/dojoengine/sequencer", tag = "v0.8.0-rc3.2" } diff --git a/crates/katana/contracts/.gitignore b/crates/katana/contracts/.gitignore new file mode 100644 index 0000000000..04af505f16 --- /dev/null +++ b/crates/katana/contracts/.gitignore @@ -0,0 +1,2 @@ +target/ +.snfoundry_cache/ diff --git a/crates/katana/contracts/.tool-versions b/crates/katana/contracts/.tool-versions new file mode 100644 index 0000000000..cc60fd6259 --- /dev/null +++ b/crates/katana/contracts/.tool-versions @@ -0,0 +1 @@ +scarb 2.8.2 diff --git a/crates/katana/contracts/Makefile b/crates/katana/contracts/Makefile new file mode 100644 index 0000000000..3a9b0e5de5 --- /dev/null +++ b/crates/katana/contracts/Makefile @@ -0,0 +1,14 @@ +CONTRACT_CLASS_SUFFIX := .contract_class.json +# Directory where the compiled classes will be stored +BUILD_DIR := ./build + +## ---- Default Pre-deployed Account + +ORIGINAL_CLASS_NAME := katana_account_Account$(CONTRACT_CLASS_SUFFIX) +CLASS_NAME := default_account.json + +$(BUILD_DIR): ./account/src/* + scarb build -p katana_account + mv target/dev/$(ORIGINAL_CLASS_NAME) $(BUILD_DIR)/$(CLASS_NAME) + +## ---- diff --git a/crates/katana/contracts/README.md b/crates/katana/contracts/README.md new file mode 100644 index 0000000000..e861a8d551 --- /dev/null +++ b/crates/katana/contracts/README.md @@ -0,0 +1 @@ +Contract classes used in Katana diff --git a/crates/katana/contracts/Scarb.lock b/crates/katana/contracts/Scarb.lock new file mode 100644 index 0000000000..ccff40fa32 --- /dev/null +++ b/crates/katana/contracts/Scarb.lock @@ -0,0 +1,115 @@ +# Code generated by scarb DO NOT EDIT. +version = 1 + +[[package]] +name = "katana_account" +version = "0.1.0" +dependencies = [ + "openzeppelin", +] + +[[package]] +name = "katana_messaging" +version = "0.1.0" + +[[package]] +name = "openzeppelin" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" +dependencies = [ + "openzeppelin_access", + "openzeppelin_account", + "openzeppelin_finance", + "openzeppelin_governance", + "openzeppelin_introspection", + "openzeppelin_merkle_tree", + "openzeppelin_presets", + "openzeppelin_security", + "openzeppelin_token", + "openzeppelin_upgrades", + "openzeppelin_utils", +] + +[[package]] +name = "openzeppelin_access" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" +dependencies = [ + "openzeppelin_introspection", + "openzeppelin_utils", +] + +[[package]] +name = "openzeppelin_account" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" +dependencies = [ + "openzeppelin_introspection", + "openzeppelin_utils", +] + +[[package]] +name = "openzeppelin_finance" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" +dependencies = [ + "openzeppelin_access", + "openzeppelin_token", +] + +[[package]] +name = "openzeppelin_governance" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" +dependencies = [ + "openzeppelin_access", + "openzeppelin_introspection", +] + +[[package]] +name = "openzeppelin_introspection" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" + +[[package]] +name = "openzeppelin_merkle_tree" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" + +[[package]] +name = "openzeppelin_presets" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" +dependencies = [ + "openzeppelin_access", + "openzeppelin_account", + "openzeppelin_finance", + "openzeppelin_introspection", + "openzeppelin_token", + "openzeppelin_upgrades", +] + +[[package]] +name = "openzeppelin_security" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" + +[[package]] +name = "openzeppelin_token" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" +dependencies = [ + "openzeppelin_account", + "openzeppelin_governance", + "openzeppelin_introspection", +] + +[[package]] +name = "openzeppelin_upgrades" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" + +[[package]] +name = "openzeppelin_utils" +version = "0.17.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.17.0#bf5d02c25c989ccc24f3ab42ec649617d3f21289" diff --git a/crates/katana/contracts/Scarb.toml b/crates/katana/contracts/Scarb.toml new file mode 100644 index 0000000000..1b08cfd995 --- /dev/null +++ b/crates/katana/contracts/Scarb.toml @@ -0,0 +1,13 @@ +[workspace] +members = [ "account", "messaging/cairo" ] + +[workspace.package] +version = "0.1.0" +edition = "2023_11" + +# See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html + +[workspace.dependencies] +starknet = "2.8.2" +openzeppelin = { git = "https://github.com/OpenZeppelin/cairo-contracts.git", tag = "v0.17.0" } +snforge_std = "0.30.0" diff --git a/crates/katana/contracts/account/Scarb.toml b/crates/katana/contracts/account/Scarb.toml new file mode 100644 index 0000000000..4d2396d75c --- /dev/null +++ b/crates/katana/contracts/account/Scarb.toml @@ -0,0 +1,14 @@ +[package] +name = "katana_account" +version.workspace = true +edition.workspace = true + +# See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html + +[dependencies] +starknet.workspace = true +openzeppelin.workspace = true + +[[target.starknet-contract]] +sierra = true +casm = true diff --git a/crates/katana/contracts/account/src/lib.cairo b/crates/katana/contracts/account/src/lib.cairo new file mode 100644 index 0000000000..9e0ef9d549 --- /dev/null +++ b/crates/katana/contracts/account/src/lib.cairo @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts for Cairo v0.17.0 (presets/account.cairo) + +/// # Account Preset +/// +/// OpenZeppelin's upgradeable account which can change its public key and declare, deploy, or call +/// contracts. +#[starknet::contract(account)] +pub mod Account { + use openzeppelin_account::AccountComponent; + use openzeppelin_introspection::src5::SRC5Component; + use openzeppelin_upgrades::UpgradeableComponent; + use openzeppelin_upgrades::interface::IUpgradeable; + use starknet::ClassHash; + + component!(path: AccountComponent, storage: account, event: AccountEvent); + component!(path: SRC5Component, storage: src5, event: SRC5Event); + component!(path: UpgradeableComponent, storage: upgradeable, event: UpgradeableEvent); + + // Account Mixin + #[abi(embed_v0)] + pub(crate) impl AccountMixinImpl = + AccountComponent::AccountMixinImpl; + impl AccountInternalImpl = AccountComponent::InternalImpl; + + // Upgradeable + impl UpgradeableInternalImpl = UpgradeableComponent::InternalImpl; + + #[storage] + pub struct Storage { + #[substorage(v0)] + pub account: AccountComponent::Storage, + #[substorage(v0)] + pub src5: SRC5Component::Storage, + #[substorage(v0)] + pub upgradeable: UpgradeableComponent::Storage + } + + #[event] + #[derive(Drop, starknet::Event)] + enum Event { + #[flat] + AccountEvent: AccountComponent::Event, + #[flat] + SRC5Event: SRC5Component::Event, + #[flat] + UpgradeableEvent: UpgradeableComponent::Event + } + + #[constructor] + pub fn constructor(ref self: ContractState, public_key: felt252) { + self.account.initializer(public_key); + } + + #[abi(embed_v0)] + impl UpgradeableImpl of IUpgradeable { + fn upgrade(ref self: ContractState, new_class_hash: ClassHash) { + self.account.assert_only_self(); + self.upgradeable.upgrade(new_class_hash); + } + } +} diff --git a/crates/katana/contracts/compiled/account.json b/crates/katana/contracts/build/account.json similarity index 100% rename from crates/katana/contracts/compiled/account.json rename to crates/katana/contracts/build/account.json diff --git a/crates/katana/contracts/compiled/account_with_dummy_validate.sierra.json b/crates/katana/contracts/build/account_with_dummy_validate.sierra.json similarity index 100% rename from crates/katana/contracts/compiled/account_with_dummy_validate.sierra.json rename to crates/katana/contracts/build/account_with_dummy_validate.sierra.json diff --git a/crates/katana/contracts/compiled/argent_ArgentAccount_0.3.0.json b/crates/katana/contracts/build/argent_ArgentAccount_0.3.0.json similarity index 100% rename from crates/katana/contracts/compiled/argent_ArgentAccount_0.3.0.json rename to crates/katana/contracts/build/argent_ArgentAccount_0.3.0.json diff --git a/crates/katana/contracts/compiled/argent_ArgentAccount_0.3.1.json b/crates/katana/contracts/build/argent_ArgentAccount_0.3.1.json similarity index 100% rename from crates/katana/contracts/compiled/argent_ArgentAccount_0.3.1.json rename to crates/katana/contracts/build/argent_ArgentAccount_0.3.1.json diff --git a/crates/katana/contracts/compiled/cairo1_contract.json b/crates/katana/contracts/build/cairo1_contract.json similarity index 100% rename from crates/katana/contracts/compiled/cairo1_contract.json rename to crates/katana/contracts/build/cairo1_contract.json diff --git a/crates/katana/contracts/compiled/controller_CartridgeAccount.contract_class.json b/crates/katana/contracts/build/controller_CartridgeAccount.contract_class.json similarity index 100% rename from crates/katana/contracts/compiled/controller_CartridgeAccount.contract_class.json rename to crates/katana/contracts/build/controller_CartridgeAccount.contract_class.json diff --git a/crates/katana/contracts/build/default_account.json b/crates/katana/contracts/build/default_account.json new file mode 100644 index 0000000000..22e1a0c438 --- /dev/null +++ b/crates/katana/contracts/build/default_account.json @@ -0,0 +1 @@ +{"sierra_program":["0x1","0x6","0x0","0x2","0x8","0x2","0x32a","0xd6","0x86","0x52616e6765436865636b","0x800000000000000100000000000000000000000000000000","0x436f6e7374","0x800000000000000000000000000000000000000000000002","0x1","0x11","0x2","0x6163636570745f6f776e657273686970","0x537461726b4e6574204d657373616765","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x4563506f696e74","0x800000000000000700000000000000000000000000000000","0x45635374617465","0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f","0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca","0x4e6f6e5a65726f","0x800000000000000700000000000000000000000000000001","0x4","0x800000000000010ffffffffffffffffb781126dcae7b2321e66a241adc64d2f","0x426f78","0x3f","0x537472756374","0x800000000000000f00000000000000000000000000000001","0x0","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x456e756d","0x800000000000000700000000000000000000000000000003","0x1c85cfe38772db9df99e2b01984abc87d868a6ed1abf1013cf120a0f3457fe1","0xa","0xb","0x2db340e6c609371026731f47050d3976552c89b4fbb012941663841c59d1af3","0xca58956845fecb30a8cb3efe23582630dbe8b80cc1fb8fd5d5e866b1356ad","0x38f6a5b87c23cee6e7294bcc3302e95019f70f81586ff3cac38581f5ca96381","0x36d10a19e25e7fb08e9fe0a0165350e891a6ee840ec5c4b1a4fb45c8302f498","0x66656c74323532","0x800000000000000700000000000000000000000000000002","0x2487213a2e92e8c6a8727c551b670514a7796fa30e2e4c9ef4309fa53c3c313","0x2ceccef7f994940b3962a6c67e0ba4fcd37df7d131417c604f91e03caecc1cd","0x2fe1537d7dffde0dbd94fc224408520c88ff07f0ccba33d6d1c9c547e1bd8f2","0x322190232f5f6591b78bfbe0182656eb01ef96a6ed2b904047de7d6fad0c90d","0x1dae0ba1f47a39607dc385c9306a152068b0f0e7941e4f856da9b44330722c9","0x14","0x15","0x800000000000000f00000000000000000000000000000002","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0x4172726179","0x800000000000000300000000000000000000000000000001","0x800000000000000300000000000000000000000000000003","0x18","0x19","0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5","0x17","0x1a","0x53746f726167654261736541646472657373","0x31448060506164e4d1df7635613bacfbea8af9c3dc85ea9a55935292a4acddc","0x1c","0x7533325f737562204f766572666c6f77","0x496e646578206f7574206f6620626f756e6473","0x3d","0x4163636f756e743a20696e76616c6964207369676e6174757265","0x3c","0x1f5d91ca543c7f9a0585a1c8beffc7a207d4af73ee640223a154b1da196a40d","0x23","0x536e617073686f74","0x25","0x556e696e697469616c697a6564","0x800000000000000200000000000000000000000000000001","0x26","0x4163636f756e743a20696e76616c69642063616c6c6572","0x29","0x13d20f70b017632fd676250ec387876342924ff0d0d3c80e55961780f4e8f","0x2a","0x800000000000000300000000000000000000000000000004","0x2b","0x323bdb4694a42a11fa3f4cbbf3a9b7035efadb0edae2a4968275e71cdd51608","0x2c","0x800000000000000000000000000000000000000000000003","0x33","0x30","0x34","0x4163636f756e743a20696e76616c69642074782076657273696f6e","0x32","0x75313238","0x25e2ca4b84968c2d8b83ef476ca8549410346b00836ce79beaf538155990bb2","0x39","0x35","0x1597b831feeb60c71f259624b79cf66995ea4f7e383403583674ab9c33b9cec","0x36","0x753634","0x800000000000000700000000000000000000000000000004","0x3342418ef16b3e2799b906b1e4e89dbb9b111332dd44f72458ce44f9895b508","0x38","0x436f6e747261637441646472657373","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x3b","0x753332","0x80000000000000070000000000000000000000000000000e","0x348a62b7a38c0673e61e888d83a3ac1bf334ee7361a8514593d3d9532ed8b39","0x3a","0x37","0x3693aea200ee3080885d21614d01b9532a8670f69e658a94addaadd72e9aca","0x18508a22cd4cf1437b721f596cd2277fc0a5e4dcd247b107ef2ef5fd2752cf7","0x40","0x8416421239ce8805ed9d27e6ddae62a97ab5d01883bb8f5246b4742a44b429","0x41","0x4163636f756e743a20756e617574686f72697a6564","0x436c61737348617368","0x142ea2d2fd5397fde7c79b95d51ea4a79991de55600cb7c1e6148f4a627dbc0","0x44","0x358f4bf88951260abbc2ca3e111e2e32432b563fa321326f0a408b880755514","0x45","0xcce4fb239b6b334698e9a8a2ff3af5216f9f160ea019509bd13ab83d77b8e4","0x16","0x10","0x46","0x436c61737320686173682063616e6e6f74206265207a65726f","0x3e","0x4b","0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5","0x800000000000000700000000000000000000000000000006","0x7d4d99e9ed8d285b5c61b493cedb63976bc3d9da867933d829f49ce838b5e7","0x4a","0x49","0x4c","0x28a1868d4e0a4c6ae678a74db4e55a60b628ba8668dc128cf0c8e418d0a7945","0x357f22cfa0a31436fa9d89042e9ee63e7cd722921741927f2de8c1800f046a5","0x10e5fcd68658d0cf6ed280e34d0d0da9a510b7a6779230c9912806a2c939b9","0x3f918d17e5ee77373b56385708f855659a07f75997f365cf87748628532a055","0x506564657273656e","0x159df14256c3945feebe89c67d7d090d9498e1598273bf1c9af9edad4160de7","0x800000000000000f00000000000000000000000000000003","0x55","0x1ecf8fcaeb0d1f1bcbb3a75a8331503971d55f9c1f726a8c56cf64cd603da6b","0x56","0x506f736569646f6e","0x1d49f7a4b277bf7b55a2664ce8cef5d6922b5ffb806b89644b9e0cdbbcac378","0x59","0x13fdd7105045794a99550ae1c4ac13faa62610dfab62c16422bfcf5803baa6e","0x5a","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x56414c4944","0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972","0x60","0xa853c166304d20fb0711becf2cbdf482dee3cac4e9717d040b7a7ab1df7eec","0x61","0x53746f7261676541646472657373","0x145cc613954179acf89d43c94ed0e091828cbddcca83f5b408785785036d36d","0x17b6ecc31946835b0d9d92c2dd7a9c14f29af0371571ae74a1b228828b2242","0x66","0x34f9bd7c6cb2dd4263175964ad75f1ff1461ddc332fbfb274e0fb2a5d7ab968","0x67","0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259","0x6a","0x45634f70","0x74584e9f10ffb1a40aa5a3582e203f6758defc4a497d1a2d5a89f274a320e9","0x6d","0x28f8d296e28032baef1f420f78ea9d933102ba47a50b1c5f80fc8a3a1041da","0x800000000000000300000000000000000000000000000002","0x25abf8fd76a01c7e2544d26b0a2e29212b05a36781e0330b46d878e43b307d1","0x70","0x28f184fd9e4406cc4475e4faaa80e83b54a57026386ee7d5fc4fa8f347e327d","0x72","0xc1f0cb41289e2f6a79051e9af1ead07112b46ff17a492a90b3944dc53a51c8","0x73","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0x75","0x53797374656d","0x77","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x4f7574206f6620676173","0x156cfcc9dd20fb7c2b1333df6d5b75859f9968d65e30aabff0bd89c83fa5b21","0x2b064258932fee243346787996703b358e3e8b703f56ad1b0cf6f2fac8e55c3","0x800000000000000f00000000000000000000000000000004","0x36d446fa250c66d7950a8b8a7f8a7fa2a374215130097064032fce1bfe0c2b2","0x7c","0x7d","0x7e","0x1cd296015f81a98f19389caa65dec9cac51e6f42e7d96044d50cad4af924c24","0x7f","0x4275696c74696e436f737473","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x7b","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511","0x4761734275696c74696e","0x16e","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x7374727563745f6465636f6e737472756374","0x656e61626c655f61705f747261636b696e67","0x73746f72655f74656d70","0x61727261795f736e617073686f745f706f705f66726f6e74","0x756e626f78","0x72656e616d65","0x656e756d5f696e6974","0x84","0x6a756d70","0x7374727563745f636f6e737472756374","0x656e756d5f6d61746368","0x636c6173735f686173685f7472795f66726f6d5f66656c74323532","0x64697361626c655f61705f747261636b696e67","0x64726f70","0x61727261795f6e6577","0x636f6e73745f61735f696d6d656469617465","0x83","0x61727261795f617070656e64","0x82","0x85","0x6765745f6275696c74696e5f636f737473","0x81","0x77697468647261775f6761735f616c6c","0x66756e6374696f6e5f63616c6c","0x3","0xd","0x80","0x736e617073686f745f74616b65","0x7a","0x79","0x616c6c6f635f6c6f63616c","0x66696e616c697a655f6c6f63616c73","0x76","0xe","0x74","0x78","0xf","0x73746f72655f6c6f63616c","0x71","0x647570","0x61727261795f6c656e","0x7533325f746f5f66656c74323532","0x6f","0x6e","0x6c","0x6b","0x12","0x68","0x73746f726167655f626173655f616464726573735f636f6e7374","0x1379ac0624b939ceb9dede92211d7db5ee174fe28be72245b0a1a2abd81c98f","0x65","0x73746f726167655f616464726573735f66726f6d5f62617365","0x63","0x64","0x73746f726167655f726561645f73797363616c6c","0x13","0x62","0x5f","0x5e","0x5d","0x69","0x5c","0x5b","0x58","0x57","0x54","0x53","0x66656c743235325f737562","0x66656c743235325f69735f7a65726f","0x52","0x51","0x50","0x706564657273656e","0xad292db4ff05a993c318438c1b6c8a8303266af2da151aa28ccece6726f1f1","0x4f","0x626f6f6c5f6e6f745f696d706c","0x4e","0x6765745f657865637574696f6e5f696e666f5f76325f73797363616c6c","0x4d","0x636f6e74726163745f616464726573735f746f5f66656c74323532","0x636c6173735f686173685f746f5f66656c74323532","0x48","0x7265706c6163655f636c6173735f73797363616c6c","0x47","0x43","0x42","0x75313238735f66726f6d5f66656c74323532","0x31","0x753132385f6f766572666c6f77696e675f737562","0x753132385f6571","0x2f","0x2e","0x2d","0x28","0x24","0x27","0x22","0x21","0x7533325f6571","0x61727261795f676574","0x20","0x1b","0x1f","0x7533325f7472795f66726f6d5f66656c74323532","0x61727261795f736c696365","0x7533325f6f766572666c6f77696e675f737562","0x1e","0x1d","0x73746f726167655f77726974655f73797363616c6c","0x626f6f6c5f746f5f66656c74323532","0x656d69745f6576656e745f73797363616c6c","0x21adb5788e32c84f69a1863d85ef9394b7bf761a0ce1190f826984e5075c371","0xc","0x63616c6c5f636f6e74726163745f73797363616c6c","0x9","0x65635f706f696e745f66726f6d5f785f6e7a","0x8","0x7","0x6","0x65635f706f696e745f7472795f6e65775f6e7a","0x65635f73746174655f696e6974","0x5","0x65635f73746174655f6164645f6d756c","0x65635f73746174655f7472795f66696e616c697a655f6e7a","0x65635f706f696e745f756e77726170","0x65635f73746174655f616464","0x756e777261705f6e6f6e5f7a65726f","0x65635f6e6567","0x65635f706f696e745f69735f7a65726f","0x66656c743235325f616464","0x68616465735f7065726d75746174696f6e","0xfb5","0xffffffffffffffff","0x129","0x8e","0x93","0xb1","0xa9","0xba","0x119","0xce","0x10a","0x103","0xfc","0x1c8","0x144","0x149","0x167","0x15f","0x170","0x1b8","0x184","0x1aa","0x1a2","0x2be","0x1e7","0x1ec","0x2ac","0x1f5","0x1fa","0x219","0x210","0x222","0x29b","0x237","0x28b","0x27a","0x271","0x25f","0x263","0x282","0x87","0x88","0x3b5","0x2de","0x2e3","0x3a3","0x2ec","0x2f1","0x310","0x307","0x319","0x392","0x32e","0x382","0x371","0x368","0x356","0x35a","0x379","0x433","0x3d3","0x3d8","0x422","0x3ed","0x414","0x40c","0x4f2","0x450","0x455","0x4e1","0x460","0x465","0x4d0","0x470","0x475","0x4bf","0x48a","0x4b1","0x4a9","0x54c","0x516","0x53f","0x536","0x5f8","0x568","0x56d","0x5e6","0x5db","0x5c8","0x58e","0x5b7","0x5ae","0x653","0x61d","0x646","0x63d","0x6ff","0x66f","0x674","0x6ed","0x6e2","0x6cf","0x695","0x6be","0x6b5","0x7bf","0x71d","0x722","0x7ae","0x737","0x79f","0x74e","0x77c","0x89","0x8a","0x8b","0x8c","0x8d","0x8f","0x90","0x91","0x92","0x795","0x770","0x775","0x94","0x784","0x788","0x95","0x83b","0x7dc","0x7e1","0x82a","0x7f6","0x81b","0x96","0x813","0x97","0x8b8","0x98","0x99","0x9a","0x8b0","0x9b","0x9c","0x9d","0x9e","0x9f","0x8a4","0xa0","0xa1","0x875","0xa2","0xa3","0x89d","0xa4","0x897","0xa5","0xa6","0xa7","0xa8","0x88f","0xaa","0xab","0xac","0xad","0xae","0x8be","0xaf","0x8fa","0x8d4","0xb0","0xb2","0xb3","0xb4","0xb5","0x8f2","0xb6","0xb7","0x8e8","0xb8","0xb9","0x9f6","0x9e7","0x9dd","0xbb","0xbc","0xbd","0xbe","0xbf","0xc0","0x93d","0xc1","0xc2","0x941","0xc3","0xc4","0xc5","0xc6","0x98a","0xc7","0x950","0x957","0x986","0xc8","0x972","0x964","0x96b","0x96d","0xc9","0x9a5","0x979","0xca","0xcb","0xcc","0x98f","0xcd","0x9c8","0x99e","0x9a4","0x9c3","0xcf","0xd0","0xd1","0xd2","0xd3","0xd4","0x9bc","0xd5","0xd6","0xd7","0xd8","0x9d0","0xd9","0xda","0xa43","0xdb","0xdc","0xa0e","0xdd","0xde","0xdf","0xa13","0xe0","0xe1","0xe2","0xa38","0xe3","0xe4","0xe5","0xe6","0xe7","0xa31","0xe8","0xe9","0xea","0xeb","0xec","0xed","0xee","0xab7","0xef","0xaa7","0xa9e","0xa93","0xf0","0xf1","0xf2","0xf3","0xf4","0xaae","0xf5","0xafa","0xad0","0xf6","0xf7","0xf8","0xf9","0xadc","0xae1","0xaef","0xfa","0xfb","0xb1b","0xfd","0xfe","0xff","0x100","0xb45","0x101","0x102","0xb36","0x104","0x105","0xb5b","0xb60","0x106","0xbb2","0x107","0xba9","0x108","0x109","0xb9c","0xb8d","0xb81","0x10b","0x10c","0x10d","0x10e","0x10f","0x110","0x111","0xc74","0xc6b","0xc5e","0x112","0x113","0x114","0x115","0xc50","0x116","0x117","0xc44","0x118","0x11a","0x11b","0xc39","0x11c","0xc2c","0x11d","0x11e","0xc22","0x11f","0x120","0x121","0x122","0xc7b","0x123","0x124","0x125","0x126","0x127","0x128","0xcd1","0xcc5","0xcbc","0x12a","0x12b","0xcf8","0xcfa","0x12c","0xcee","0x12d","0x12e","0xd06","0x12f","0x130","0x131","0x132","0x133","0x134","0x135","0x136","0xd15","0xd27","0xd2c","0xd6f","0x137","0xd6b","0xd3c","0xd41","0xd63","0xd5c","0xd53","0x138","0x139","0x13a","0x13b","0x13c","0x13d","0x13e","0xd73","0xdb6","0x13f","0x140","0xd85","0x141","0x142","0x143","0xd8a","0x145","0xdab","0x146","0x147","0x148","0x14a","0xd9f","0x14b","0x14c","0x14d","0x14e","0x14f","0xdef","0xdd1","0xdd6","0xde4","0xe0c","0x150","0xe20","0xe34","0x151","0xed8","0x152","0xecb","0x153","0x154","0x155","0xebd","0x156","0x157","0x158","0x159","0x15a","0xeaf","0x15b","0xea4","0x15c","0x15d","0xe71","0xe6e","0x15e","0xe72","0x160","0x161","0x162","0x163","0xe84","0x164","0xe9a","0xe97","0xe9c","0x165","0xef9","0x166","0xf08","0x168","0xf15","0xf21","0xfa3","0xf3a","0xf46","0xf52","0xf5e","0xf6a","0xf74","0xf9a","0xf8e","0x169","0x16a","0x16b","0x16c","0x16d","0x1d7","0x2ce","0x3c5","0x442","0x501","0x55a","0x608","0x661","0x70f","0x7ce","0x84a","0x8c5","0x909","0xa00","0xa52","0xac1","0xb09","0xb54","0xbbc","0xc85","0xcdd","0xd1e","0xd79","0xdc5","0xdfd","0xee4","0x85be","0xc0340c02c0a01c060140400c0901c060140400c0801c060140400c0200400","0x50441404c070180501003048050441003c070180501003038070180501003","0x2001c060140400c1f01c060140400c1e0141d0141c0601b068190601705815","0x1609807018050100301805094180901603023088180441a084070180501003","0x1e014190602c0582b0142a014290601b068060142806024058060142706024","0x360d4050d0050cc180c01a0c8050c405064180c016018050bc2e0b41805c16","0x501c3b0140400c3a01c060140400c3901c060140400c3801437060240580c","0x2e078050fc050f81806c1a0f405044140f007018050100301c070ec0501003","0x4601411100150142f0b84501c060140400c440144310841014111003d0142f","0x30d4051300512c180c01a07805104051280506418124161200511c1809016","0x500144e0144d00c0501c520140400c5101c060140400c500144f0144e0144d","0x504440154050bc2e06007148050100314805148051501806c160305313c05","0x32014111000c174520145c014060145b0605a0580c16458014570602405856","0x501805018050f4051480518c050180518818184160306017c051781809016","0x1b0683d0140601463014650605a0583d0143b0143b0143d014520146401406","0x5010030d4051a4051a0180c01a19c050f4050641806c16078050540519818","0x7201471014700605a0686f0146e060240686d0146c060240580c1ac6a01c06","0x517005170051dc18168161d805044141d405044141d00701805010031cc05","0x501c060140400c7c014110500601463014630147b0147a014790607805863","0x50100301805044101fc070180501003018051f818090160e0051f41809016","0x350148601485060300681e0148401419060830588206017058022048001c06","0x522c05228180c01a224050f4050641806c16078050f4052201806c1a00887","0x1801c060140400c8e01c060140400c8d01c060140400c8c01c060140400c35","0x5010030d40524805244180c01a240050641809016078050780523c1806c1a","0x3d01419060300581e0143201495060300683801494060240580c24c1801c3b","0x5264180c01a0180506418090160180510c420d4052600525c180c01a25805","0x9e06024058350149d0149c060300681e0143201419060300580226c350149a","0x160780511805288180c01a0d40528405280180c01a104050641827c1611005","0xa7014a60601b068060141105035014a5014a406030068a30143d0141906030","0x506418090162ac0701805010032a80701805010032a40510c42008a807805","0xb20141906083058b1014b001484014af060ae058ad06017058ac060170583d","0x701805010030d4052dc052d8180c01a030b50d4052d0052cc180c01a07805","0xc1060c00f405014bf060be060bd060bc2ec022e81e01406014b90601b068b8","0x5f014053041801cc6014073140601405310060140530c06014053081801405","0xcc060cb060ca31805014c9014073180501cc507805014c8060c731805014c1","0x53400601405304cf0140533806014053346d01405330a7014053305f01405","0xc12a405014c134805014c1014073440501cc50d405014c80c405014c801805","0x5320b101405320b001405320840140532018354d4014053041834cd101405","0x5014cc0c805014da2d005014cc36405014c9360d7014d61b405014c12c805","0x53381e01405330db014053381801cd101407314b7014053203d0140532032","0x501cc537c05014c10600737c0501cc5060de2a405014dd0f405014cc37005","0x5324e035c0535846014053043d014053041501405334df014053240501cdf","0xcc28c05014c90140728c0501cc538805014cc28c05014c129405014bf38405","0x52fce501405324a901405390e335c05358840140533084014053684601405","0xc13a405014c8060e80f405014e711005014e610405014cc10405014da28405","0x5358eb014053049d014052fcea014053247235c053583201405304e901405","0x5014c93b4d7014d601805014e401805014dd26805014bf3b005014c9018d7","0x53bc96014053240501c96014073140601405330960140530498014052fcee","0xce060f20e005014c43c405014bf3c405014cc3c405014da3c405014c83c007","0x92014052fcf701405324f635c05358183d4f4014053043b01405304f301405","0xcc3e805014ce0c405014cc0d405014bf3e405014ce3e005014ce24005014c9","0x530489014053248b014052fcfd014053242a35c05358fc01405338fb01405","0x5014e640405014ce40005014c121805014cc3fc05014c90acd7014d63f805","0x53210501405339040140533090014053040501c90014073141840c1840806","0x5014da42405014c8061080610741805014bf41805014cc41805014da41805","0x7135c053590b01405338184281801c900140731509014052fd090140533109","0x5014cc1e805014cc1f005014bf1f005014c11f005014c343405014c10610c","0x5320184451001405338b2014053301843c6d014053981843863014053307b","0x5014c80d0d7014d644805014c101c074480501cc5060071cc0501cc51bc05","0x7c0140533113014053380501cd901407314d9014053041801cd901407314b4","0xc90c4d7014d638405014c1060073840501cc529405014c80600728c0501cc5","0x7b014053040501ce1014073141501405340670140532469014052fd1401405","0x5014ce061150ec05014cc19005014cc14805014cc1d405014bf1d405014c3","0x4f01405338184601845c52014053984e014052fd1601405338520140530450","0x5014cd46805014ce39405014c1014073940501cc546405014ce06005014c4","0x11b014053243235c0535841014053044a014053044a0140532046014053683d","0x5014dd47005014ce060073940501cc528405014c812805014cc13005014bf","0x73151d0140530444014053041801d1d014073143d01405308e9014052fc44","0xe70f405014c40f405014e60f405014c347405014c911005014e40140747405","0x9d01405320ea014053040501cea0140731444014053303535c053580601405","0x501cc547c05014ce1d405014c13a405014cc47805014cc060073a80501cc5","0x960140731475014053301801cec014073149a01405320ec014053040501cec","0x5014ce014073b80501cc53b805014c1060073b80501cc526005014c806007","0xa7014053040601405488f7014053041801cf70140731492014053201848520","0xe60612617c05014e6014073dc0501cc549405014ce490d7014d648c05014ce","0x1801cfd014073148b014053201801c8901407314184a0060140549c3b01405","0xda4a805014c8014072240501cc54a405014ce014073f40501cc53f405014c1","0x5320340140533124014053243835c053592a014052fd2a014053312a01405","0x71c40501cc50a805014c80612b060074480501cc5014071c40501cc50ac05","0xf6014053380501cff01407314ff014053041801cff01407314860140532018","0x5014cc44805014da0612c3b405014bf3b405014cc3b405014da3b405014c8","0x2b014052fce0014053382a014052fce3014053387101405325120140532512","0xc80612e0612d1b405014c41bc05014bf36005014ce1cc05014c91c805014c9","0x731514014053041801d140140731469014053201801c67014073141501405","0xc1060074bc0501cc505405014c212805014bf014074500501cc50140719c05","0x1501405310150140530d2f014053240501d2f014073152f014053044801405","0xc846c05014c10140746c0501cc50f405014d00613018c05014c105405014bf","0x533934014053393301405304184c931014053381801d1b014073144c01405","0x13c4cc05014e60613b0613a4e005014c1061394e005014e606137061364d405","0xd701405338184fc1201405304184f812014054f53301405331380140533018","0x5014c849005014c1014074900501cc501405014ce061410614001c05014ce","0x14301c05060070141806143014180601850890014053301801d240140731434","0x5060120613301543014d7014d70601850c0506007061344d40728d3804807","0x1801c18078053801d4c40750c074cc054d4180480550c05048054e01806143","0x143014d801531060d8015430152f015330612f015430141d015340601850c05","0x18060f6014184bc181c80550c05380050781838c0550c054c4050741838005","0x507805074183b40550c0501805380180180550c05060d80601850c0506007","0x1801c180a805248f60154301c72014e30607201543014ed0141e060e301543","0x54e018061430141801c180d0053e8710ac0750c073d81201c720601850c05","0x60601850c050600706035014480c83101d4301ce3015350602b015430142b","0x1850c051c4050a8180614301432014f60601850c050c4053b4180614301418","0x70c4180e00550c050e0050d0180e00550c05060710612401543014180ac18","0x5490184940550c054a92901c350612901543014180c8184a80550c050e124","0x70152a061380154301538014380602b015430142b01538061230154301525","0x18061430141801c1848c074e02b0480548c0550c0548c054a41801c0550c05","0x1430152001523061200154301418494180614301435014ed0601850c0506006","0x11f0601850c050600706041474074243f47c0750c07481380acd74801848005","0x11c4784435c410611c0154301418474184780550c050603f060440154301418","0x51c4051101801c0550c0501c054a8180fc0550c050fc050e0181180550c05","0x1847c0550c0547c054e0181304a120d750c051c44601c3f0491e0607101543","0x2b0601850c0546c0511818061430141801c18468054411b0154301c4c0151c","0x1160144c0601850c0513c05128184584f01d430151901448061190154301418","0x547c054e0181400550c0513805468181380550c051480546c181480550c05","0x14301450015290604a015430144a0152a060480154301448014380611f01543","0x54e0181580550c054680549018061430141801c181404a1211f0480514005","0x56015290604a015430144a0152a060480154301448014380611f015430151f","0x2b0601850c051c4050a818061430141801c181584a1211f048051580550c05","0x64160070c4181900550c05190050d0181900550c0506119060580154301418","0x518c054901818c0550c051705501c350605501543014180c8181700550c05","0x143014070152a060410154301441014380611d015430151d015380605f01543","0x53b418061430141801c1817c071051d0480517c0550c0517c054a41801c05","0x18061430141801c18060f1014184bc180f40550c050d0054e01806143014e3","0x5060060603d0154301412015380601850c0538c053b418061430142a0144f","0x181d40550c051d4050d0181d40550c05061160603b01543014180ac1806143","0x181a40550c050546701c350606701543014180c8180540550c051d43b01c31","0x12a061380154301538014380603d015430143d0153806114015430146901524","0x1430141801c18450074e03d048054500550c05450054a41801c0550c0501c05","0x50d0181b40550c05061190611301543014180ac1806143014d70145206018","0x7301c350607301543014180c8181bc0550c051b51301c310606d015430146d","0x13401438061350154301535015380611001543015120152406112015430146f","0x74d135048054400550c05440054a41801c0550c0501c054a8184d00550c05","0x506007014180614301418060180614301418140184e00550c050604e06110","0x120601d01543014d7014d70601850c0506007061314cc07511344d40750c07","0x18360055152f0780750c07074054d4184d40550c054d4054e0180614301418","0xe001458060e3015430141e0141d060e0015430152f014560601850c0506007","0x6406006015430141836018061430141801c1806146014184bc181c80550c05","0x5170181c80550c053b4051601838c0550c0536005074183b40550c0501805","0x53d8054d018061430141801818061430141801c180a80551cf60154301c72","0x550c050ac054cc180d00550c0538c05130181c40550c05060550602b01543","0x34015430143401463061340154301534014380613501543015350153806031","0x50c4710d1344d5380f4180c40550c050c4050d0181c40550c051c40517c18","0x51d418061430141801c184a805520380154301d240143b061240d43235d43","0x50e0184800550c050c8054e01848c0550c054a40535c184952901d4301438","0x50612f0611d0154301525014150603f01543015230141d0611f0154301435","0x13806041015430152a015240601850c054e00519c18061430141801c1806149","0x54a41801c0550c0501c054a8180d40550c050d4050e0180c80550c050c805","0x4f0601850c05060060601850c05060070604101c350c812014410154301441","0x54d4054e0184780550c05110051a4181100550c05060d80601850c050a805","0x1430151e014150603f01543014e30141d0611f0154301534014380612001543","0x14301c3f015350601850c0506007060460154a4700550c07474054501847405","0x1430144a014f60601850c05120053b418061430141801c181300552c4a12007","0x181c41846c0550c050602b0601850c054700544c1806143015380146706018","0x50603206119015430151a46c070c4184680550c05468050d0184680550c05","0x5480054e0181480550c0545805490184580550c054644f01c350604f01543","0x14301452015290600701543014070152a0611f015430151f014380612001543","0x5061250601850c05130053b418061430141801c181480747d200480514805","0x5801d4c1585001d4301c4e47d2035d200604e015430144e015230604e01543","0x6f060631540750c05170051b4181700550c050611f0601850c050600706064","0x70152a06056015430145601438060500154301450015380601850c0515405","0x3d17c1250c054706301c56141381cc184700550c054700517c1801c0550c05","0x1801c1805405534750154301c3b015100601201543014124e007448180ec12","0x750c051a4051e8181a40550c051d4051ec1819c0550c050602b0601850c05","0x550c051b405434181b51301d43015130147c0601850c05450051d81844d14","0x550c051cc6701c310607301543014730143406073015430146f0150b0606f","0x3d015430143d014380605f015430145f015380611001543015130150906112","0x143015124403d17c12410184480550c0544805414184400550c054400541818","0x7c015000601850c05060070610d0154e1f00550c071d805404181d87a1ecd7","0x1060144a061054180750c0542c051201806143015090144f0610942c0750c05","0x143015010151a0610101543015040151b0610401543015050144c0601850c05","0x550c05048054a8181e80550c051e8050e0181ec0550c051ec054e01840005","0x10d015240601850c0506007061000487a1ec120150001543015000152906012","0x5048054a8181e80550c051e8050e0181ec0550c051ec054e0182100550c05","0x1240601850c0506007060840487a1ec12014840154301484015290601201543","0x54a8180f40550c050f4050e01817c0550c0517c054e0182180550c0505405","0x1850c0506007060860483d17c1201486015430148601529060120154301412","0x506119060ff01543014180ac18061430151c015130601850c054e00519c18","0x143014180c8182240550c053f8ff01c31060fe01543014fe01434060fe01543","0x1430145801538060fc01543014fd01524060fd015430148922c070d41822c05","0x550c053f0054a41801c0550c0501c054a8181900550c05190050e01816005","0x54e00519c1806143014460144f0601850c0506007060fc01c6416012014fc","0x34060f90154301418458183e80550c050602b0601850c050fc053b41806143","0x70d4182400550c0506032060f801543014f93e8070c4183e40550c053e405","0x50e0184800550c05480054e0183dc0550c0524805490182480550c053e090","0x11f48012014f701543014f7015290600701543014070152a0611f015430151f","0x180ac1806143014d7014520601850c054e00519c18061430141801c183dc07","0x53d0f301c31060f401543014f401434060f40154301418464183cc0550c05","0x14301498015240609801543014f1258070d4182580550c0506032060f101543","0x550c0501c054a8184c40550c054c4050e0184cc0550c054cc054e0183b805","0x1801c050601850c0506018060ee01d314cc12014ee01543014ee0152906007","0x184c40550c050480535c18061430141801c184cd3401d4f4d53801d4301c07","0x12f015500781d01d4301d3101535061380154301538015380601850c0506012","0x5160183800550c0507405074183600550c050780515818061430141801c18","0x181c80550c05060d80601850c050600706018544050612f060e301543014d8","0x5c060e3015430140601458060e0015430152f0141d06006015430147201464","0xed015340601850c05060060601850c0506007060f6015523b40550c0738c05","0x1430142a015330607101543014e00144c0602b0154301418154180a80550c05","0x550c051c40518c184d40550c054d4050e0184e00550c054e0054e0180d005","0x340ac714d5384e03d060340154301434014340602b015430142b0145f06071","0x750601850c050600706038015534900550c070d4050ec180d4320c4d750c05","0x380612301543014310153806125015430152a014d7061294a80750c0549005","0x184bc180fc0550c054a4050541847c0550c0549405074184800550c050c805","0x310154301431015380611d0154301438015240601850c05060070601855005","0x1835c0550c0535c054a8180c80550c050c8050e0180140550c050140521018","0x1430141801818061430141801c18474d70c8050c5380151d015430151d01529","0x138060440154301441014690604101543014183601806143014f60144f06018","0x50541847c0550c0538005074184800550c054d4050e01848c0550c054e005","0x544c18061430141801c18470055551e0154301c3f015140603f0154301444","0x53b418061430141801c1812805558481180750c0747c054d418061430151e","0x11b01543014181c4181300550c050602b0601850c05120053d8180614301446","0x184640550c05060320611a015430151b130070c41846c0550c0546c050d018","0x1848c0550c0548c054e0184580550c0513c054901813c0550c054691901c35","0x129060d701543014d70152a0612001543015200143806005015430140501484","0x1430144a014ed0601850c05060070611635d20015234e0054580550c0545805","0x750c071492048cd7480181480550c051480548c181480550c050612506018","0x143014640146d06064015430141847c18061430141801c181605601d571404e","0x550c0501405210181380550c05138054e018061430145c0146f0605517007","0x5535c500144e4e086060d701543014d70152a0605001543014500143806005","0x1850c050600706067015580540550c071d4053fc181d43b0f45f18d3850c05","0x1844c0550c054506901c31061140154301415014fe0606901543014180ac18","0x11b06073015430146f0144c0601850c051b405128181bc6d01d430151301448","0x52101818c0550c0518c054e0184400550c0544805468184480550c051cc05","0x110015290603b015430143b0152a0603d015430143d014380605f015430145f","0x7b0154301467015240601850c0506007061100ec3d17c634e0054400550c05","0x180f40550c050f4050e01817c0550c0517c052101818c0550c0518c054e018","0x1801c181ec3b0f45f18d380147b015430147b015290603b015430143b0152a","0x76015430147601434060760154301418464181e80550c050602b0601850c05","0x10b015430147c434070d4184340550c05060320607c01543014761e8070c418","0x180140550c0501405210181580550c05158054e0184240550c0542c0549018","0x13801509015430150901529060d701543014d70152a06058015430145801438","0x1850c0547c053b418061430151c0144f0601850c05060070610935c5801456","0x70c4184140550c05414050d0184140550c05061160610601543014180ac18","0x5490184000550c054110101c350610101543014180c8184100550c0541506","0x120014380600501543014050148406123015430152301538060840154301500","0x120015234e0052100550c05210054a41835c0550c0535c054a8184800550c05","0x18464182180550c050602b0601850c050480514818061430141801c18210d7","0x506032060fe01543014ff218070c4183fc0550c053fc050d0183fc0550c05","0x54d0054e0183f40550c0522c054901822c0550c053f88901c350608901543","0x143014d70152a06133015430153301438060050154301405014840613401543","0x184d40550c0506089060fd35d33015344e0053f40550c053f4054a41835c05","0x1d4c407565334d00750c0701c1801c050601850c05060180601850c0506050","0x54d0054e0180614301418048180780550c050480535c18061430141801c18","0xd8015340601850c0506007060e00155a3612f01d4301c1e015350613401543","0x54bc05074180180550c051c8054c4181c80550c0538c054cc1838c0550c05","0xd80601850c05060070601856c050612f060f601543014060141e060ed01543","0x2b0141e060ed01543014e00141d0602b015430142a014e00602a0154301418","0x13501c8b0601850c0506007060710155c4e00550c073d80538c183d80550c05","0x560601850c0506007060320155d0c43401d4301ced01535061380154301538","0x184bc180e00550c050d405160184900550c050d005074180d40550c050c405","0x184a40550c054a805190184a80550c05060d80601850c05060070601857805","0x557d250154301c380145c060380154301529014580612401543014320141d","0x50602b061200154301525015340601850c05060060601850c050600706123","0x14301534015380611d0154301520015330603f01543015240144c0611f01543","0x550c0547c05414180fc0550c050fc0518c184cc0550c054cc050e0184d005","0xfc0611e1104135d430151d47c3f4cd344e0fd0611d015430151d014340611f","0x181284801d430151c014fa0601850c050600706046015604700550c0747805","0x1d0611a0154301444014380611b0154301441015380604c0154301448014d7","0x1430141801c1806161014184bc1813c0550c05128053e4184640550c0513005","0x181040550c05104054e0184580550c0511805490180614301538014f806018","0x129060d701543014d70152a0604401543014440143806005015430140501484","0x1850c05060060601850c05060070611635c44014414e0054580550c0545805","0x54e0181380550c0514805240181480550c05060d80601850c0548c0513c18","0x4e014f90611901543015240141d0611a0154301533014380611b0154301534","0x119015350601850c050600706056015621400550c0713c052481813c0550c05","0x64014f60601850c05160053b418061430141801c181700558c641600750c07","0x181540550c050602b0601850c054e0053e01806143014500144a0601850c05","0x320605f0154301463154070c41818c0550c0518c050d01818c0550c0506071","0x54e0181d40550c050ec05490180ec0550c0517c3d01c350603d0154301418","0xd70152a0611a015430151a01438060050154301405014840611b015430151b","0x1850c05060070607535d1a0151b4e0051d40550c051d4054a41835c0550c05","0xd7480180540550c050540548c180540550c05061250601850c05170053b418","0x6d01543014183dc18061430141801c1844d1401d641a46701d4301c154691b","0x180614301473014f1061121cc0750c051bc053d0181bc0550c051b4053cc18","0xfb0607a015430147b014ee0607b01543015100149806110015430151201496","0x67015380607a015430147a014ec0607601543014760149a060760154301418","0x1801c1841506424d75950b4347c35d4301c7a1d8d71a4123ac1819c0550c05","0x143015010144c0601850c0541005128184050401d4301450014480601850c05","0x550c054e0050d0180140550c05014052101819c0550c0519c054e01840005","0x10042d38014674e09d061000154301500014630610b015430150b0143406138","0x53a8184340550c05434054a8181f00550c051f0050e0183fc86210d750c05","0x180481822c0550c053f8053a418061430141801c1822405598fe0154301cff","0x53f40513c18061430141801c183f00559cfd0154301c8b014a10601850c05","0x7060185a0050612f060f901543014fa01434060fa01543014183941806143","0x550c053e0050d0183e00550c05060a30601850c053f00513c180614301418","0x480609201543014f9240070c4182400550c050602b0601850c0506006060f9","0x546c183d00550c053cc051301806143014f70144a060f33dc0750c0524805","0x8601484060840154301484015380609601543014f10151a060f101543014f4","0x5258054a4184340550c05434054a8181f00550c051f0050e0182180550c05","0xee2600750c052240529418061430141801c182590d1f086211380149601543","0x380609a015430148601484060fb0154301484015380601850c052600538418","0x184bc182740550c053b805414183ac0550c05434054a8183b00550c051f005","0x1380601850c054e0053e01806143014500144a0601850c0506007060185a405","0x54a8183b00550c05424050e0182680550c0501405210183ec0550c0519c05","0x9d3a8070d4183a80550c05060320609d015430150501505060eb0154301506","0x526805210183ec0550c053ec054e0182840550c053a405490183a40550c05","0x143014a101529060eb01543014eb0152a060ec01543014ec014380609a01543","0x53e01806143014500144a0601850c0506007060a13acec268fb4e00528405","0x550c0528c050d01828c0550c0506119060e501543014180ac180614301538","0x550c05294e101c35060e101543014180c8182940550c0528ce501c31060a3","0x501543014050148406114015430151401538060df01543014a701524060a7","0x537c0550c0537c054a41835c0550c0535c054a81844c0550c0544c050e018","0x14301519014ed0601850c051580513c18061430141801c1837cd744c0545138","0x50d0183880550c05060a7060a901543014180ac180614301538014f806018","0xdb01c35060db01543014180c8183700550c05388a901c31060e201543014e2","0x5014840611b015430151b01538060b001543014b701524060b701543014dc","0x52c0054a41835c0550c0535c054a8184680550c05468050e0180140550c05","0x513c18061430141801818061430141801c182c0d74680546d38014b001543","0xb101543014180ac180614301535014df0601850c053b4053b4180614301471","0x182d00550c052c8b101c31060b201543014b201434060b2015430141845818","0x138060d101543014d401524060d401543014b4364070d4183640550c0506032","0x54a8184cc0550c054cc050e0180140550c0501405210184d00550c054d005","0x1430141801c18344d74cc054d138014d101543014d101529060d701543014d7","0x184641833c0550c050602b0601850c0504805148180614301535014df06018","0x506032060d201543014c633c070c4183180550c05318050d0183180550c05","0x54c4054e0185ac0550c055a805490185a80550c053480001c350600001543","0x143014d70152a0601d015430141d01438060050154301405014840613101543","0x184d40550c05060890616b35c1d015314e0055ac0550c055ac054a41835c05","0x1d4c4075b1334d00750c0701c1801c050601850c05060180601850c0506050","0x54d0054e0180614301418048180780550c050480535c18061430141801c18","0xd8015340601850c0506007060e00156d3612f01d4301c1e015350613401543","0x54bc05074180180550c051c8054c4181c80550c0538c054cc1838c0550c05","0xd80601850c0506007060185b8050612f060f601543014060141e060ed01543","0x2b0141e060ed01543014e00141d0602b015430142a014e00602a0154301418","0x13501c8b0601850c0506007060710156f4e00550c073d80538c183d80550c05","0x560601850c050600706032015700c43401d4301ced01535061380154301538","0x184bc180e00550c050d405160184900550c050d005074180d40550c050c405","0x184a40550c054a805190184a80550c05060d80601850c0506007060185c405","0x55c9250154301c380145c060380154301529014580612401543014320141d","0x50602b061200154301525015340601850c05060060601850c050600706123","0x14301534015380611d0154301520015330603f01543015240144c0611f01543","0x550c0547c05414180fc0550c050fc0518c184cc0550c054cc050e0184d005","0xfc0611e1104135d430151d47c3f4cd344e0fd0611d015430151d014340611f","0x181284801d430151c014fa0601850c050600706046015734700550c0747805","0x1d0611a0154301444014380611b0154301441015380604c0154301448014d7","0x1430141801c1806174014184bc1813c0550c05128053e4184640550c0513005","0x181040550c05104054e0184580550c0511805490180614301538014f806018","0x129060d701543014d70152a0604401543014440143806005015430140501484","0x1850c05060060601850c05060070611635c44014414e0054580550c0545805","0x54e0181380550c0514805240181480550c05060d80601850c0548c0513c18","0x4e014f90611901543015240141d0611a0154301533014380611b0154301534","0x119015350601850c050600706056015751400550c0713c052481813c0550c05","0x64014f60601850c05160053b418061430141801c18170055d8641600750c07","0x181540550c050602b0601850c054e0053e01806143014500144a0601850c05","0x320605f0154301463154070c41818c0550c0518c050d01818c0550c0506071","0x54e0181d40550c050ec05490180ec0550c0517c3d01c350603d0154301418","0xd70152a0611a015430151a01438060050154301405014840611b015430151b","0x1850c05060070607535d1a0151b4e0051d40550c051d4054a41835c0550c05","0xd7480180540550c050540548c180540550c05061250601850c05170053b418","0x6d01543014183dc18061430141801c1844d1401d771a46701d4301c154691b","0x180614301473014f1061121cc0750c051bc053d0181bc0550c051b4053cc18","0xfb0607a015430147b014ee0607b01543015100149806110015430151201496","0x67015380607a015430147a014ec0607601543014760149a060760154301418","0x1801c1841506424d75e10b4347c35d4301c7a1d8d71a4123ac1819c0550c05","0x143015010144c0601850c0541005128184050401d4301450014480601850c05","0x550c054e0050d0180140550c05014052101819c0550c0519c054e01840005","0x10042d38014674e09d061000154301500014630610b015430150b0143406138","0x53a8184340550c05434054a8181f00550c051f0050e0183fc86210d750c05","0x180481822c0550c053f8053a418061430141801c18224055e4fe0154301cff","0x53f40513c18061430141801c183f0055e8fd0154301c8b014a10601850c05","0x7060185ec050612f060f901543014fa01434060fa01543014183941806143","0x550c053e0050d0183e00550c05060a30601850c053f00513c180614301418","0x480609201543014f9240070c4182400550c050602b0601850c0506006060f9","0x546c183d00550c053cc051301806143014f70144a060f33dc0750c0524805","0x8601484060840154301484015380609601543014f10151a060f101543014f4","0x5258054a4184340550c05434054a8181f00550c051f0050e0182180550c05","0xee2600750c052240529418061430141801c182590d1f086211380149601543","0x380609a015430148601484060fb0154301484015380601850c052600538418","0x184bc182740550c053b805414183ac0550c05434054a8183b00550c051f005","0x1380601850c054e0053e01806143014500144a0601850c0506007060185f005","0x54a8183b00550c05424050e0182680550c0501405210183ec0550c0519c05","0x9d3a8070d4183a80550c05060320609d015430150501505060eb0154301506","0x526805210183ec0550c053ec054e0182840550c053a405490183a40550c05","0x143014a101529060eb01543014eb0152a060ec01543014ec014380609a01543","0x53e01806143014500144a0601850c0506007060a13acec268fb4e00528405","0x550c0528c050d01828c0550c0506119060e501543014180ac180614301538","0x550c05294e101c35060e101543014180c8182940550c0528ce501c31060a3","0x501543014050148406114015430151401538060df01543014a701524060a7","0x537c0550c0537c054a41835c0550c0535c054a81844c0550c0544c050e018","0x14301519014ed0601850c051580513c18061430141801c1837cd744c0545138","0x50d0183880550c05060a7060a901543014180ac180614301538014f806018","0xdb01c35060db01543014180c8183700550c05388a901c31060e201543014e2","0x5014840611b015430151b01538060b001543014b701524060b701543014dc","0x52c0054a41835c0550c0535c054a8184680550c05468050e0180140550c05","0x513c18061430141801818061430141801c182c0d74680546d38014b001543","0xb101543014180ac180614301535014df0601850c053b4053b4180614301471","0x182d00550c052c8b101c31060b201543014b201434060b2015430141845818","0x138060d101543014d401524060d401543014b4364070d4183640550c0506032","0x54a8184cc0550c054cc050e0180140550c0501405210184d00550c054d005","0x1430141801c18344d74cc054d138014d101543014d101529060d701543014d7","0x184641833c0550c050602b0601850c0504805148180614301535014df06018","0x506032060d201543014c633c070c4183180550c05318050d0183180550c05","0x54c4054e0185ac0550c055a805490185a80550c053480001c350600001543","0x143014d70152a0601d015430141d01438060050154301405014840613101543","0x50601850c05060180616b35c1d015314e0055ac0550c055ac054a41835c05","0x550c050480535c18061430141801c184cd3401d7d4d53801d4301c0706007","0x17e0781d01d4301d3101535061380154301538015380601850c050601206131","0x183800550c05360054cc183600550c05078054d018061430141801c184bc05","0x12f0600601543014e30141e06072015430141d0141d060e301543014e001531","0xf601543014ed014e0060ed015430141836018061430141801c180617f01418","0x1800a80550c070180538c180180550c053d805078181c80550c054bc0507418","0x1810d07101d4301c72015350601850c050a8053e018061430141801c180ac05","0x34014f60601850c051c4053b418061430141801818061430141801c180c405","0x350154301435014340603501543014181c4180c80550c050602b0601850c05","0x12a01543015240e0070d4180e00550c05060320612401543014350c8070c418","0x180140550c0501405210184e00550c054e0054e0184a40550c054a80549018","0x13801529015430152901529060d701543014d70152a06135015430153501438","0x180614301431014ed0601850c05060060601850c05060070612935d3501538","0x12048c0750c07495354e0d7480184940550c054940548c184940550c0506125","0x4101d430151d0146d0611d015430141847c18061430141801c180fd1f01d82","0x180140550c05014052101848c0550c0548c054e01806143014410146f06044","0x1430144435d20015234e086060d701543014d70152a06120015430152001438","0x2b0601850c05060070611b015831300550c07128053fc18128481191c47938","0x51201813c0550c054651a01c3106119015430144c014fe0611a0154301418","0x4e0151b0604e01543014520144c0601850c0545805128181491601d430144f","0x547005210184780550c05478054e0181580550c0514005468181400550c05","0x14301456015290604801543014480152a060460154301446014380611c01543","0x13806058015430151b015240601850c050600706056120464711e4e00515805","0x54a8181180550c05118050e0184700550c0547005210184780550c0547805","0x1430141801c18160481191c4793801458015430145801529060480154301448","0x310605c015430145c014340605c0154301418464181900550c050602b06018","0x1240605f015430145518c070d41818c0550c050603206055015430145c19007","0x50e0180140550c05014052101847c0550c0547c054e0180f40550c0517c05","0x547d380143d015430143d01529060d701543014d70152a0603f015430143f","0x53b418061430142b0144f0601850c05060060601850c05060070603d35c3f","0x550c051d4050d0181d40550c05061160603b01543014180ac180614301472","0x550c050546701c350606701543014180c8180540550c051d43b01c3106075","0x5015430140501484061380154301538015380611401543014690152406069","0x54500550c05450054a41835c0550c0535c054a8184d40550c054d4050e018","0x550c050602b0601850c050480514818061430141801c18450d74d4054e138","0x6f015430146d44c070c4181b40550c051b4050d0181b40550c050611906113","0x184400550c0544805490184480550c051bc7301c350607301543014180c818","0x12a061330154301533014380600501543014050148406134015430153401538","0x5060180611035d33015344e0054400550c05440054a41835c0550c0535c05","0x535c18061430141801c184cd3401d844d53801d4301c07060070141806143","0x14301d3101535061380154301538015380601850c0506012061310154301412","0x5360054cc183600550c05078054d018061430141801c184bc056141e07407","0x143014e30141e06072015430141d0141d060e301543014e001531060e001543","0xed014e0060ed015430141836018061430141801c1806186014184bc1801805","0x70180538c180180550c053d805078181c80550c054bc05074183d80550c05","0x14301c72015350601850c050a8053e018061430141801c180ac0561c2a01543","0x50c8054cc180c80550c050d0054d018061430141801c180c405620341c407","0x143015240141e0603801543014710141d061240154301435015310603501543","0x129014e006129015430141836018061430141801c1806189014184bc184a805","0x74a80538c184a80550c0549405078180e00550c050c405074184940550c05","0x14301c38015350601850c0548c053e018061430141801c18480056292301543","0x5104054cc181040550c050fc054d018061430141801c184740562c3f47c07","0x1430151e0141e0611c015430151f0141d0611e0154301444015310604401543","0x48014e006048015430141836018061430141801c180618c014184bc1811805","0x71180538c181180550c0512805078184700550c0547405074181280550c05","0x14301d1c015350601850c05130053e018061430141801c1846c056344c01543","0x1850c05468053b418061430141801818061430141801c1813c056391946807","0x52014340605201543014181c4184580550c050602b0601850c05464053d818","0x4e140070d4181400550c05060320604e0154301452458070c4181480550c05","0x501405210184e00550c054e0054e0181600550c0515805490181580550c05","0x1430145801529060d701543014d70152a061350154301535014380600501543","0x4f014ed0601850c05060060601850c05060070605835d35015384e00516005","0x7191354e0d7480181900550c051900548c181900550c05061250601850c05","0x3d0146d0603d015430141847c18061430141801c1817c6301d8f1545c01d43","0x501405210181700550c05170054e018061430143b0146f060750ec0750c05","0x550145c4e086060d701543014d70152a060550154301455014380600501543","0x5060070606f015901b40550c0744c053fc1844d141a4670553850c051d4d7","0x550c054487301c3106112015430146d014fe0607301543014180ac1806143","0x76015430147a0144c0601850c051ec05128181e87b01d43015100144806110","0x180540550c05054054e0184340550c051f005468181f00550c051d80546c18","0x1290611401543015140152a0606901543014690143806067015430146701484","0x1430146f015240601850c05060070610d4506919c154e0054340550c0543405","0x550c051a4050e01819c0550c0519c05210180540550c05054054e01842c05","0x1842d141a467055380150b015430150b015290611401543015140152a06069","0x1430150601434061060154301418464184240550c050602b0601850c0506007","0x14301505410070d4184100550c0506032061050154301506424070c41841805","0x550c05014052101818c0550c0518c054e0184000550c05404054901840405","0x100015430150001529060d701543014d70152a0605f015430145f0143806005","0x1430151b0144f0601850c05060060601850c05060070610035c5f014634e005","0x50d0182180550c05060a90608401543014180ac18061430151c014ed06018","0xfe01c35060fe01543014180c8183fc0550c052188401c31060860154301486","0x501484061380154301538015380608b0154301489015240608901543014ff","0x522c054a41835c0550c0535c054a8184d40550c054d4050e0180140550c05","0x513c18061430141801818061430141801c1822cd74d4054e1380148b01543","0xfc015430141829c183f40550c050602b0601850c050e0053b4180614301520","0x183e40550c0506032060fa01543014fc3f4070c4183f00550c053f0050d018","0x184e00550c054e0054e0182400550c053e005490183e00550c053e8f901c35","0x129060d701543014d70152a0613501543015350143806005015430140501484","0x1850c05060060601850c05060070609035d35015384e0052400550c0524005","0x5061160609201543014180ac180614301472014ed0601850c050ac0513c18","0x143014180c8183cc0550c053dc9201c31060f701543014f701434060f701543","0x14301538015380609601543014f101524060f101543014f33d0070d4183d005","0x550c0535c054a8184d40550c054d4050e0180140550c0501405210184e005","0x514818061430141801c18258d74d4054e13801496015430149601529060d7","0x550c053b8050d0183b80550c05061190609801543014180ac180614301412","0x550c053ec9a01c350609a01543014180c8183ec0550c053b89801c31060ee","0x501543014050148406134015430153401538060eb01543014ec01524060ec","0x53ac0550c053ac054a41835c0550c0535c054a8184cc0550c054cc050e018","0x13501d914e01201d4301c0506007014180614301418060183acd74cc054d138","0x135060120154301412015380613301543014d7014d70601850c050600706134","0xf60601850c054c4053b418061430141801c18078056481d4c40750c074cc05","0x143014d801434060d801543014181c4184bc0550c050602b0601850c0507405","0x143014e038c070d41838c0550c0506032060e001543014d84bc070c41836005","0x550c054e0050e0180480550c05048054e0180180550c051c805490181c805","0x70600601d3804812014060154301406015290600701543014070152a06138","0x550c053b40548c183b40550c05061250601850c05078053b4180614301418","0x183dc18061430141801c181c42b01d930a8f601d4301ced4e01235d20060ed","0x32014f1060350c80750c050c4053d0180c40550c050d0053cc180d00550c05","0x14301438014ee06038015430152401498061240154301435014960601850c05","0x12a015430152a014ec0612901543015290149a0612901543014183ec184a805","0x3f47cd76512048d2535d4301d2a4a4070a8123ac183d80550c053d8054e018","0x70c4184800550c05480050d0181040550c050602b0601850c05060070611d","0x513018061430151e0144a0611c4780750c0511005120181100550c0548041","0xf6015380604a01543014480151a0604801543014460151b06046015430151c","0x5128054a41848c0550c0548c054a8184940550c05494050e0183d80550c05","0x70d4181300550c05060320601850c05060070604a48d253d8120144a01543","0x50e0183d80550c053d8054e0184680550c0546c054901846c0550c054744c","0x11f3d8120151a015430151a015290603f015430143f0152a0611f015430151f","0x50d01813c0550c05061190611901543014180ac18061430141801c184683f","0x5201c350605201543014180c8184580550c0513d1901c310604f015430144f","0x71014380602b015430142b0153806050015430144e015240604e0154301516","0x71c42b048051400550c05140054a41801c0550c0501c054a8181c40550c05","0x5061190605601543014180ac1806143014d7014520601850c050600706050","0x143014180c8181900550c051605601c31060580154301458014340605801543","0x143015350153806063015430145501524060550154301464170070d41817005","0x550c0518c054a41801c0550c0501c054a8184d00550c054d0050e0184d405","0x7655344d40750c0735c1801c050601850c05060180606301d344d41201463","0x54e0180614301418048180740550c054e00535c18061430141801c184c533","0x1340601850c0506007060d8015964bc1e01d4301c1d01535061350154301535","0x5074181c80550c0538c054c41838c0550c05380054cc183800550c054bc05","0x1850c05060070601865c050612f060ed01543014720141e06006015430141e","0x1e0600601543014d80141d0602a01543014f6014e0060f6015430141836018","0x4c0601850c050600706071015980ac0550c073b40538c183b40550c050a805","0x7388180d00550c050d00518c184d40550c054d4054e0180d00550c0501805","0x18061430141801c1849005664350154301c32014dc060320c40750c050d135","0x1850c0506007061250159a4a40550c074a8052dc184a83801d4301435014db","0x1430141801c180fc0566d1f4800750c0748c054d41848c0550c050e00535c18","0x129014520601850c0547c053d8180614301520014ed0601850c050600606018","0x181040550c05060710611d01543014180ac18061430142b014f80601850c05","0x350611e01543014180c8181100550c051051d01c3106041015430144101434","0x840603101543014310153806046015430151c015240611c015430144447807","0x54a8184d00550c054d0050e01801c0550c0501c052c0180140550c0501405","0x506007060460493401c050c53501446015430144601529060120154301412","0x548c181200550c05061250601850c050fc053b41806143014180181806143","0x1430141801c184691b01d9c1304a01d4301c484d03135d20060480154301448","0x180140550c0501405210181280550c05128054e0184640550c050611f06018","0x340601201543014120152a060070154301407014b00604c015430144c01438","0x1290ad190480713005129332c4184a40550c054a40518c180ac0550c050ac05","0x1430141801c1819005674580154301c56014b2060561404e1491613d3550c05","0x1818c5501d430145c014480605c01543014180ac180614301458014b406018","0x5468180f40550c0517c0546c1817c0550c0518c051301806143014550144a","0x4e014b0061160154301516014840604f015430144f015380603b015430143d","0x50ec054a4181400550c05140054a8181480550c05148050e0181380550c05","0x750154301464015240601850c05060070603b140521391613d350143b01543","0x181380550c05138052c0184580550c05458052101813c0550c0513c054e018","0x135014750154301475015290605001543014500152a06052015430145201438","0x1430142b014f80601850c054a40514818061430141801c181d4501484e4584f","0x3106067015430146701434060670154301418464180540550c050602b06018","0x124061130154301469450070d4184500550c050603206069015430146705407","0x52c0180140550c05014052101846c0550c0546c054e0181b40550c0544c05","0x6d015290601201543014120152a0611a015430151a01438060070154301407","0x18061430141801818061430141801c181b412468070151b4d4051b40550c05","0x143014180ac18061430142b014f80601850c050e0051481806143015250144f","0x550c051cc6f01c310607301543014730143406073015430141829c181bc05","0x7a015430147b015240607b0154301512440070d4184400550c050603206112","0x1801c0550c0501c052c0180140550c0501405210180c40550c050c4054e018","0x1350147a015430147a015290601201543014120152a06134015430153401438","0x1850c050ac053e018061430141801818061430141801c181e8124d00701431","0x180140550c0501405210180c40550c050c4054e0181d80550c054900549018","0x1290601201543014120152a06134015430153401438060070154301407014b0","0x1430141801818061430141801c181d8124d007014314d4051d80550c051d805","0x18458181f00550c050602b0601850c05018053b41806143014710144f06018","0x5060320610b015430150d1f0070c4184340550c05434050d0184340550c05","0x54d4054e0184140550c0541805490184180550c0542d0901c350610901543","0x1430153401438060070154301407014b0060050154301405014840613501543","0x124d007015354d4054140550c05414054a4180480550c05048054a8184d005","0x5061190610401543014180ac180614301538014520601850c050600706105","0x143014180c8184000550c054050401c31061010154301501014340610101543","0x1430153301538060ff015430148601524060860154301500210070d41821005","0x550c054c4050e01801c0550c0501c052c0180140550c0501405210184cc05","0xff0493101c054cd35014ff01543014ff015290601201543014120152a06131","0x1430141801c184d13501d9e4e01201d4301c050600701418061430141806018","0x13101d4301d3301535060120154301412015380613301543014d7014d706018","0x18061430141d014f60601850c054c4053b418061430141801c180780567c1d","0x12f01c31060d801543014d801434060d801543014181c4184bc0550c050602b","0x72015240607201543014e038c070d41838c0550c0506032060e001543014d8","0x501c054a8184e00550c054e0050e0180480550c05048054e0180180550c05","0xed0601850c05060070600601d3804812014060154301406015290600701543","0x138048d7480183b40550c053b40548c183b40550c05061250601850c0507805","0xf30603401543014183dc18061430141801c181c42b01da00a8f601d4301ced","0x5258180614301432014f1060350c80750c050c4053d0180c40550c050d005","0x5060fb0612a0154301438014ee06038015430152401498061240154301435","0x143014f6015380612a015430152a014ec0612901543015290149a0612901543","0x1430141801c184743f47cd76852048d2535d4301d2a4a4070a8123ac183d805","0x440154301520104070c4184800550c05480050d0181040550c050602b06018","0x181180550c054700513018061430151e0144a0611c4780750c051100512018","0x38060f601543014f6015380604a01543014480151a0604801543014460151b","0xf6048051280550c05128054a41848c0550c0548c054a8184940550c0549405","0x11b015430151d130070d4181300550c05060320601850c05060070604a48d25","0x1847c0550c0547c050e0183d80550c053d8054e0184680550c0546c0549018","0x5060070611a0fd1f3d8120151a015430151a015290603f015430143f0152a","0x1813c0550c0513c050d01813c0550c05061190611901543014180ac1806143","0x181380550c054585201c350605201543014180c8184580550c0513d1901c31","0x12a060710154301471014380602b015430142b0153806050015430144e01524","0x1430141801c18140071c42b048051400550c05140054a41801c0550c0501c05","0x50d0181600550c05061190605601543014180ac1806143014d70145206018","0x5c01c350605c01543014180c8181900550c051605601c31060580154301458","0x134014380613501543015350153806063015430145501524060550154301464","0x74d1350480518c0550c0518c054a41801c0550c0501c054a8184d00550c05","0x506007061314cc07689344d40750c0735c1801c050601850c050601806063","0x184d40550c054d4054e0180614301418048180740550c054e00535c1806143","0xe0015430152f015340601850c0506007060d8015a34bc1e01d4301c1d01535","0x180180550c0507805074181c80550c0538c054c41838c0550c05380054cc18","0x550c05060d80601850c050600706018690050612f060ed01543014720141e","0xed015430142a0141e0600601543014d80141d0602a01543014f6014e0060f6","0x3401543014060144c0601850c050600706071015a50ac0550c073b40538c18","0x3101d43014344d407388180d00550c050d00518c184d40550c054d4054e018","0x750c050d40536c18061430141801c1849005698350154301c32014dc06032","0x14301438014d70601850c050600706125015a74a40550c074a8052dc184a838","0x1430141801818061430141801c180fc056a11f4800750c0748c054d41848c05","0x53e0180614301529014520601850c0547c053d8180614301520014ed06018","0x550c05104050d0181040550c05060710611d01543014180ac18061430142b","0x550c051111e01c350611e01543014180c8181100550c051051d01c3106041","0x50154301405014840603101543014310153806046015430151c015240611c","0x180480550c05048054a8184d00550c054d0050e01801c0550c0501c052c018","0x5060060601850c0506007060460493401c050c53501446015430144601529","0x181200550c051200548c181200550c05061250601850c050fc053b41806143","0x1430141847c18061430141801c184691b01da91304a01d4301c484d03135d20","0x550c05130050e0180140550c0501405210181280550c05128054e01846405","0x2b015430142b014340601201543014120152a060070154301407014b00604c","0x524584f4d543015290ad190480713005129332c4184a40550c054a40518c18","0x5160052d018061430141801c18190056a8580154301c56014b2060561404e","0x1850c05154051281818c5501d430145c014480605c01543014180ac1806143","0x180ec0550c050f405468180f40550c0517c0546c1817c0550c0518c0513018","0x380604e015430144e014b0061160154301516014840604f015430144f01538","0x4f4d4050ec0550c050ec054a4181400550c05140054a8181480550c0514805","0x1430144f01538060750154301464015240601850c05060070603b1405213916","0x550c05148050e0181380550c05138052c0184580550c05458052101813c05","0x75140521391613d35014750154301475015290605001543014500152a06052","0x143014180ac18061430142b014f80601850c054a40514818061430141801c18","0x550c0519c1501c31060670154301467014340606701543014184641805405","0x6d015430151301524061130154301469450070d4184500550c050603206069","0x1801c0550c0501c052c0180140550c05014052101846c0550c0546c054e018","0x1350146d015430146d015290601201543014120152a0611a015430151a01438","0x1850c054940513c18061430141801818061430141801c181b412468070151b","0x5060a70606f01543014180ac18061430142b014f80601850c050e00514818","0x143014180c8184480550c051cc6f01c31060730154301473014340607301543","0x14301431015380607a015430147b015240607b0154301512440070d41844005","0x550c054d0050e01801c0550c0501c052c0180140550c0501405210180c405","0x7a0493401c050c5350147a015430147a015290601201543014120152a06134","0x14301524015240601850c050ac053e018061430141801818061430141801c18","0x550c0501c052c0180140550c0501405210180c40550c050c4054e0181d805","0x760154301476015290601201543014120152a0613401543015340143806007","0x51c40513c18061430141801818061430141801c181d8124d007014314d405","0x340610d0154301418458181f00550c050602b0601850c05018053b41806143","0x70d4184240550c05060320610b015430150d1f0070c4184340550c0543405","0x5210184d40550c054d4054e0184140550c0541805490184180550c0542d09","0x120152a06134015430153401438060070154301407014b0060050154301405","0x1430141801c18414124d007015354d4054140550c05414054a4180480550c05","0x50d0184040550c05061190610401543014180ac1806143015380145206018","0x8401c350608401543014180c8184000550c054050401c31061010154301501","0x50148406133015430153301538060ff015430148601524060860154301500","0x5048054a8184c40550c054c4050e01801c0550c0501c052c0180140550c05","0x1850c0506018060ff0493101c054cd35014ff01543014ff015290601201543","0x50480535c18061430141801c184cd3401dab4d53801d4301c070140701418","0x1d01d4301d3101535061380154301538015380601850c05060120613101543","0x550c05360054cc183600550c05078054d018061430141801c184bc056b01e","0x601543014e30141e06072015430141d0141d060e301543014e001531060e0","0x143014ed014e0060ed015430141836018061430141801c18061ad014184bc18","0x550c070180538c180180550c053d805078181c80550c054bc05074183d805","0x1801c180c4056bc341c40750c071c8054d418061430141801c180ac056b82a","0xf80601850c050d0053d8180614301471014ed0601850c05060060601850c05","0x14301435014340603501543014181c4180c80550c050602b0601850c050a805","0x143015240e0070d4180e00550c05060320612401543014350c8070c4180d405","0x550c054e0054e0180600550c0506005364184a40550c054a805490184a805","0x129015430152901529060d701543014d70152a0613501543015350143806138","0x14301431014ed0601850c05060060601850c05060070612935d354e0184e005","0x750c07495354e0d7480184940550c054940548c184940550c050612506018","0x1430142a014d10611d015430141835018061430141801c180fd1f01db048123","0x548c054e0181100550c05110050d0181100550c054744101ccf060410a807","0x1430142a014f80601850c05060070611e015b10614301c44014c60612301543","0x181200550c0506005364181180550c0547005348184700550c05060d806018","0x611b01543014d70152a0604c0154301520014380604a015430152301538","0x1850c05478055a818061430141801c18061b2014184bc184680550c0511805","0x181491601d430144f015b40604f0154301519015b30611901543014185ac18","0x50d0181400550c05138054cc181380550c05148056d8180614301516015b5","0x181600550c05160050d0181605601d430142a1401835db7060500154301450","0x6301d4301455015b906055015430145c015b80605c1900750c051612301d45","0x180ec0550c050f405260180f40550c0517c056ec180614301463015ba0605f","0x5364180540550c0505405268180540550c05060fb06075015430143b014ee","0x6919cd750c071d41535d20048eb06064015430146401538060560154301456","0x550c05450050d018061430141804818061430141801c181bc6d44cd76f114","0x1bd0614301d14014c60606901543014690152a0606701543014670143806114","0x61100154301512014d206112015430141836018061430141801c181cc05","0x1850c051cc055a818061430141801c18061be014184bc181ec0550c0544005","0x60607b01543014760140006076015430147a015460607a015430141836018","0x5190054e0181200550c0515805364181f00550c051ec056fc180614301418","0x1430147c014000611b01543014690152a0604c0154301467014380604a01543","0x57010b0154301d1a014a10601850c05060120610d01543014180ac1846805","0x1060143406106015430141839418061430150b0144f0601850c050600706109","0x1c20601850c054240513c18061430141801c18061c1014184bc184140550c05","0x54150d01c310601850c050600606105015430150401434061040154301418","0x143014840144c0601850c0540005128182110001d4301501014480610101543","0x550c0512005364183f80550c053fc05468183fc0550c052180546c1821805","0x11b015430151b0152a0604c015430144c014380604a015430144a0153806048","0x5060320601850c0506007060fe46c4c128484e0053f80550c053f8054a418","0x515805364183f40550c0522c054901822c0550c051bc8901c350608901543","0x1430146d0152a06113015430151301438060640154301464015380605601543","0xf80601850c0506007060fd1b513190564e0053f40550c053f4054a4181b405","0x143014fa01434060fa0154301418464183f00550c050602b0601850c050a805","0x143014f93e0070d4183e00550c0506032060f901543014fa3f0070c4183e805","0x550c0547c054e0180600550c0506005364182480550c05240054901824005","0x92015430149201529060d701543014d70152a0603f015430143f014380611f","0x1430142b0144f0601850c05060060601850c05060070609235c3f47c184e005","0x50d0183cc0550c0506116060f701543014180ac180614301472014ed06018","0xf101c35060f101543014180c8183d00550c053ccf701c31060f301543014f3","0x13801538060180154301418014d9060980154301496015240609601543014f4","0x5260054a41835c0550c0535c054a8184d40550c054d4050e0184e00550c05","0x2b0601850c050480514818061430141801c18260d74d538061380149801543","0xfb3b8070c4183ec0550c053ec050d0183ec0550c0506119060ee0154301418","0x53ac05490183ac0550c05268ec01c35060ec01543014180c8182680550c05","0x143015330143806134015430153401538060180154301418014d90609d01543","0x9d35d334d0184e0052740550c05274054a41835c0550c0535c054a8184cc05","0x1430141801c184cd3401dc34d53801d4301c070140701418061430141806018","0x135061380154301538015380601850c0506012061310154301412014d706018","0x183600550c05078054d018061430141801c184bc057101e0740750c074c405","0x1e06072015430141d0141d060e301543014e001531060e001543014d801533","0xed015430141836018061430141801c18061c5014184bc180180550c0538c05","0x180180550c053d805078181c80550c054bc05074183d80550c053b40538018","0x341c40750c071c8054d418061430141801c180ac057182a0154301c06014e3","0x53d8180614301471014ed0601850c05060060601850c050600706031015c7","0x3501543014181c4180c80550c050602b0601850c050a8053e0180614301434","0x180e00550c05060320612401543014350c8070c4180d40550c050d4050d018","0x180600550c0506005364184a40550c054a805490184a80550c054903801c35","0x129060d701543014d70152a0613501543015350143806138015430153801538","0x1850c05060060601850c05060070612935d354e0184e0054a40550c054a405","0xd7480184940550c054940548c184940550c05061250601850c050c4053b418","0x11d015430141847c18061430141801c180fd1f01dc84812301d4301d254d538","0x180600550c0506005364184800550c05480050e01848c0550c0548c054e018","0x50a91d35c18481234d5c90602a015430142a01434060d701543014d70152a","0x18061430141801c1812805728480154301c46014b2060464711e110414e143","0x5128184691b01d430144c014480604c01543014180ac180614301448014b4","0x513c054681813c0550c054640546c184640550c054680513018061430151b","0x1430144401438060410154301441015380611e015430151e014d90611601543","0x116470441051e4e0054580550c05458054a4184700550c05470054a81811005","0x54e0184780550c0547805364181480550c051280549018061430141801c18","0x52015290611c015430151c0152a06044015430144401438060410154301441","0x18061430142a014f80601850c050600706052470441051e4e0051480550c05","0x4e01c3106050015430145001434060500154301418464181380550c050602b","0x6401524060640154301456160070d4181600550c0506032060560154301450","0x50fc050e01847c0550c0547c054e0180600550c0506005364181700550c05","0xd70fd1f061380145c015430145c01529060d701543014d70152a0603f01543","0x51c8053b418061430142b0144f0601850c05060060601850c05060070605c","0x1818c0550c0518c050d01818c0550c05061160605501543014180ac1806143","0x180ec0550c0517c3d01c350603d01543014180c81817c0550c0518c5501c31","0x3806138015430153801538060180154301418014d906075015430143b01524","0x184e0051d40550c051d4054a41835c0550c0535c054a8184d40550c054d405","0x180540550c050602b0601850c050480514818061430141801c181d4d74d538","0x32060690154301467054070c41819c0550c0519c050d01819c0550c0506119","0x5364181b40550c0544c054901844c0550c051a51401c35061140154301418","0xd70152a0613301543015330143806134015430153401538060180154301418","0x70141801dcb0606d35d334d0184e0051b40550c051b4054a41835c0550c05","0x184d40550c054d40573418061430141801c184c5334d0d7731354e01235d43","0x1cb0601d015430141d015cf060120154301412014380601d0154301535015ce","0x53600573418061430141801c181c8e3380d7740d84bc1e35d4301d3804807","0x1d2060710ac2a3d8ed4e14301406015d10600601543014d8015ce060d801543","0x14301471014f80601850c050a8057501806143014f6015d30601850c053b405","0x31015d206038490350c8314e1430141d015d106034015430142b015d506018","0x180614301438014f80601850c0549005750180614301432015d30601850c05","0x184a40550c054a83401ccf060340154301434014340612a0154301435015d5","0xc60612f015430152f0152a0601e015430141e0143806129015430152901434","0x1d80612335c0750c0535c0575c18061430141801c18494057581850c074a405","0x576818061430141801c1847c057641850c0748005318184800550c0548c05","0x11d015430141876c180fc0550c050602b0601850c0535c050a8180614301407","0x44015430141e0143806041015430151d0fc070c4184740550c05474050d018","0x1801c18061dc014184bc184700550c0510405414184780550c054bc054a818","0x464bc1e35ddd0604635c0750c0535c0575c18061430151f0156a0601850c05","0x184640550c0535c0577c18061430141801c184691b130d77784a1200750c07","0x180fc181480550c050611f06116015430144f015e10604f0154301519015e0","0x48014380605601543014501385235c41060500154301418474181380550c05","0x4a12012520184580550c0545805788181280550c05128054a8181200550c05","0x1850c050600706063015e31540550c07170054701817064160d750c0545856","0x1e50603d015430145f01c077901817c0550c05060d80601850c051540511818","0x5798181900550c05190054a8181600550c05160050e0180ec0550c050f405","0xa50601850c0501c0576818061430141801c180ec64160d70143b015430143b","0x54a8181100550c05160050e0180614301475014e1060151d40750c0518c05","0x1850c050600706018770050612f0611c0154301415015050611e0154301464","0x54a8181100550c05130050e01806143014d70142a0601850c0501c0576818","0x11c19c070d41819c0550c05060320611c015430151a015050611e015430151b","0x5478054a8181100550c05110050e0184500550c051a40579c181a40550c05","0x55a818061430141801c184511e110d7015140154301514015e60611e01543","0x11301543014180ac1806143014d70142a0601850c0501c05768180614301525","0x181bc0550c051b51301c310606d015430146d014340606d01543014187a018","0x12f06110015430146f0150506112015430152f0152a06073015430141e01438","0x1806143014d70142a0601850c05074057a818061430141801c18061e901418","0x5414184480550c0538c054a8181cc0550c05380050e0180614301407015da","0x180614301407015da0601850c0506007060187a4050612f061100154301472","0x5414184480550c054cc054a8181cc0550c054d0050e01806143014d70142a","0x7a015e70607a01543015101ec070d4181ec0550c0506032061100154301531","0x51d805798184480550c05448054a8181cc0550c051cc050e0181d80550c05","0x1eb4d53801d4301c0506007014180614301418018181d9121ccd70147601543","0x550c054e0054e0184c41201d4301412014d10601850c0506007061334d007","0x180614301412014f80601850c05060070601d015ec0614301d31014c606138","0x183600550c054bc057b8184bc0550c050780701d470601e01543014d7015ed","0xd7014d801543014d8015ef0613501543015350143806138015430153801538","0x184e00550c054e0054e018061430141d0156a0601850c0506007060d84d538","0x720154301ce3015f1060e33800750c0501d3801df006007015430140701463","0x550c073d8057d0183d8ed01d4301472015f30601850c050600706006015f2","0x550c05061c206071015430142a35c077d818061430141801c180ac057d42a","0x550c054d4050e0183800550c05380054e0180c40550c050d01201ccf06034","0x310154301431014340607101543014710145f060ed01543014ed0146306135","0x1850c0506007061240d43235c05490350c8d750c050c4713b535381380f418","0x751c180e00550c050ac051a41806143014d7015130601850c05048053e018","0x50e0183800550c05380054e0184a40550c054a8057b8184a80550c050e0ed","0x18061430141801c184a535380d7015290154301529015ef061350154301535","0xe001538061250154301406015f70601850c0535c0544c180614301412014f8","0x1254d4e035c054940550c05494057bc184d40550c054d4050e0183800550c05","0x501c051481806143014d7015130601850c05048053e018061430141801c18","0x184800550c05480050d0184800550c05061190612301543014180ac1806143","0x184740550c0547c3f01c350603f01543014180c81847c0550c054812301c31","0x1ef061330154301533014380613401543015340153806041015430151d015f7","0x1806143014d70146f0601850c0506006060414cd3435c051040550c0510405","0x134015cd0601850c05060070601d4c53335df84d1354e0d750c0701c0501dcb","0x181c8e3380d84bd3850c0507805744180780550c054d005738184d00550c05","0x51c8053e01806143014e3015d40601850c053600574c18061430152f015d2","0x550c054e0050e0180180550c05018050d0180180550c05380057541806143","0x1850c0506007060ed015f90614301c06014c60613501543015350152a06138","0x573418061430141801c180c4341c4d77e82b0a8f635d4301d354e00772c18","0x1294a838490354e14301432015d106032015430142b015ce0602b015430142b","0x129014f80601850c054a805750180614301438015d40601850c050d40574818","0x14301525015fc061250154301524015fb061240154301524015490601850c05","0x11f015fd0601850c0548005750181304a120464711e110414743f47d2048cd8","0x180614301441014f80601850c05474053e018061430143f014520601850c05","0x51180514818061430151c015fd0601850c05478057f8180614301444014f8","0x120601850c051300514818061430144a015ff0601850c05120057fc1806143","0x50a8054a8183d80550c053d8050e01848c0550c0548c050d0180614301418","0x18061430141801c184584f464d78051a46c0750c0748c1801e000602a01543","0x580c181400550c054680580c181380550c0546c054e0181480550c0506202","0x4e0154301519015380601850c050600706018810050612f060560154301452","0x206060580154301418814181580550c0513c0580c181400550c054580580c18","0x631700750c051700581c181545601d4301456016070605c1900750c0516005","0x7060750ec078243d17c0750c0718c55138d78201818c0550c0518c0580c18","0x517c054e0180545601d4301456016070601850c050f4057f4180614301418","0x14301464015fd0601850c05060070601882c1850c071701501e0a0605f01543","0x50016070601850c050600706018830050612f06067015430145f0153806018","0x20d44d1401d4301c641a45f35e0806064015430146401603060691400750c05","0x1819c0550c05450054e0180614301513015fd0601850c05060070606f1b407","0x184407301d430147301607061121580750c051580581c181cc0550c050620e","0x1801c181f07601e0f1e87b01d4301d104486735e0806110015430151001603","0x14301c7315807828181ec0550c051ec054e018061430147a015fd0601850c05","0x184340550c051ec054e0180614301450015fd0601850c05060070601884018","0x550c0542c0580c1842c0550c050620e0601850c050600706018844050612f","0x57f418061430141801c184110501e124190901d4301d0b1407b35e080610b","0x214014184bc184040550c054340584c184340550c05424054e0180614301506","0x105015380601850c050480544c180614301504015fd0601850c050600706018","0x1130601850c051f0057f418061430141801c1806215014184bc184000550c05","0x14301473015fd0601850c05140057f4180614301456015fd0601850c0504805","0x18858182100550c050602b0601850c05060060610001543014760153806018","0x506032060ff0154301486210070c4182180550c05218050d0182180550c05","0x5400054e01822c0550c052240585c182240550c053fcfe01c35060fe01543","0x1430148b016180602a015430142a0152a060f601543014f6014380610001543","0x6d015380601850c051bc057f418061430141801c1822c2a3d9000480522c05","0x1fd0601850c051d4057f418061430141801c1806219014184bc183f40550c05","0x14301418868183f40550c050ec054e0180614301464015fd0601850c0517005","0x53e40581c183e05601d430145601607060f93e80750c053f005818183f005","0x786cf72480750c07240f83f4d7820182400550c052400580c18240f901d43","0x20a060920154301492015380601850c053dc057f418061430141801c183d0f3","0x50015fd0601850c053e8057f418061430141801c180621c0614301cf915807","0x2030601850c050600706018874050612f060f10154301492015380601850c05","0x506007060fb3b807878982580750c073e850248d7820183e80550c053e805","0x10101543014f101613060f10154301496015380601850c05260057f41806143","0x544c183acec01d43014120161f0609a015430141852c18061430141801818","0x53d8050e0184040550c05404054e0182740550c053ac058801806143014ec","0x1430149a016220609d015430149d016210602a015430142a0152a060f601543","0xa30154301ce501624060e5284e93a81250c052689d0a8f64053888c1826805","0x143014e101627060df29ce135d43014a3016260601850c0506007060a501625","0x183880550c052a4058a4182a40550c0529c058a01806143014df0144f06018","0x218060a101543014a10152a060e901543014e901438060ea01543014ea01538","0x550c052940585c18061430141801c18388a13a4ea048053880550c0538805","0xa101543014a10152a060e901543014e901438060ea01543014ea01538060dc","0x53ec057f418061430141801c18370a13a4ea048053700550c053700586018","0x7060188a8050612f060db01543014ee015380601850c050480544c1806143","0x1850c05158057f4180614301412015130601850c053d0057f4180614301418","0xf3015380601850c053e4057f4180614301450015fd0601850c053e8057f418","0x182c00550c0506216060b701543014180ac1806143014180181836c0550c05","0x35060b201543014180c8182c40550c052c0b701c31060b001543014b001434","0x38060db01543014db01538060d901543014b401617060b401543014b12c807","0xdb048053640550c0536405860180a80550c050a8054a8183d80550c053d805","0x35060d401543014180c8180614301412015130601850c0506007060d90a8f6","0x3806018015430141801538060cf01543014d101617060d1015430143135007","0x180480533c0550c0533c05860180d00550c050d0054a8181c40550c051c405","0x2b0601850c050480544c1806143014ed0156a0601850c0506007060cf0d071","0xd2318070c4183480550c05348050d0183480550c050622b060c60154301418","0x55ac0585c185ac0550c050016a01c350616a01543014180c8180000550c05","0x143015350152a0613801543015380143806018015430141801538061b301543","0x544c18061430141801c186cd354e018048056cc0550c056cc05860184d405","0x56d40585c186d40550c05075b401c35061b401543014180c8180614301412","0x143015310152a0613301543015330143806018015430141801538061b601543","0x500613801543014188b0186d9314cc18048056d80550c056d805860184c405","0x184c53301e2d4d13501d4301c0506007014180614301418018180614301418","0x14301535015380601850c05060120601d01543014070162e0601850c0506007","0x54bc058c418061430141801c18360058c12f0780750c07074058bc184d405","0x188d0050612f060e301543014e00163306012015430141e01632060e001543","0xd8016320600601543014720163506072015430141836018061430141801c18","0xe3016370601201543014124e0078d81838c0550c05018058cc180480550c05","0x143014ed016390601850c05060060601850c0506007060f6016383b40550c07","0x1430142b0163b0602b0a80750c050a8058e8180a80550c050a80518c180a805","0x550c050c40542c180c40550c050d0058f0180d00550c051c40535c181c405","0x550c050a8058ec180d40550c050c8d701c310603201543014320143406032","0x124015430152401463061340154301534014380613501543015350153806124","0x12901501061294a83835d4301435491344d4128f4180d40550c050d40541418","0x12501500061200154301412015090601850c0506007061230163e4940550c07","0x54a8050e0180e00550c050e0054e018061430143f0144f0603f47c0750c05","0x1204a838049040611f015430151f01505061200154301520015060612a01543","0x1850c05048058fc18061430141801c1811041474d7014441051d35d430151f","0x184a80550c054a8050e0180e00550c050e0054e0184780550c0548c0590018","0x18061430141801818061430141801c184792a0e0d70151e015430151e01641","0x11c35c07908184700550c05060d80601850c05048058fc1806143014f60144f","0x54d0050e0184d40550c054d4054e0181200550c051180590c181180550c05","0x591018061430141801c18121344d4d7014480154301448016410613401543","0x4a01543014180ac180614301407016450601850c0535c05128180614301538","0x1846c0550c051304a01c310604c015430144c014340604c015430141846418","0x1380604f01543015190164006119015430151b468070d4184680550c0506032","0x13335c0513c0550c0513c05904184c40550c054c4050e0184cc0550c054cc05","0x1d4c53335e464d1354e0d750c0735c0701dcb0601850c05048051bc1813d31","0x5744180780550c054d005738184d00550c054d00573418061430141801c18","0x1d40601850c053800575018061430152f015d20607238ce03612f4e1430141e","0x5360057ec183600550c0536005524180614301472014f80601850c0538c05","0x750c053d8053d0183d80550c053b4053cc183b40550c05060f70600601543","0x3401543014710149806071015430142b014960601850c050a8053c4180ac2a","0x9a061380154301538014380603201543014183ec180c40550c050d0053b818","0x123ac180180550c050180591c180c40550c050c4053b0180c80550c050c805","0x6015fc0601850c0506007061254a52a35e480e1240d4d750c070c4324d538","0x1d40601850c0548c053e0181304a120464711e110414743f47d2048cd850c05","0x14301444014f80601850c05104053e018061430151f015fd0601850c0548005","0x57fc180614301446014520601850c05470057f418061430151e015fe06018","0x550c05060054e018061430144c014520601850c05128057fc180614301448","0x380154301438014340611d015430151d014340600501543014050148406018","0x50e0184651a46cd750c050fc384740506138274180fc0550c050fc0518c18","0x18458059244f0154301d19014ea0612401543015240152a060350154301435","0x18140059284e0154301c52014a106052015430144f014e90601850c0506007","0x550c050624b0605601543014180ac18061430144e0144f0601850c0506007","0x5c01543014180c8181900550c051605601c310605801543014580143406058","0x11b015430151b015380606301543014550164c060550154301464170070d418","0x184900550c05490054a8180d40550c050d4050e0184680550c054680521018","0x51400513c18061430141801c1818d240d51a46d380146301543014630164d","0x3b015430143d0164f0603d015430145f0164e0605f015430141828c1806143","0x180d40550c050d4050e0184680550c05468052101846c0550c0546c054e018","0x1801c180ed240d51a46d380143b015430143b0164d0612401543015240152a","0x1430151b015380601850c051d405384180547501d4301516014a50601850c05","0x550c05490054a8184500550c050d4050e0181a40550c05468052101819c05","0x6016510601850c050600706018940050612f0606d01543014150150506113","0x1430152a0143806069015430140501484060670154301418015380601850c05","0x6f01543014180c8181b40550c05494054141844c0550c054a4054a81845005","0x670154301467015380611201543014730164c06073015430146d1bc070d418","0x1844c0550c0544c054a8184500550c05450050e0181a40550c051a40521018","0x143014180c818061430141801c18449134506919d380151201543015120164d","0x14301418015380607a015430147b0164c0607b015430141d440070d41844005","0x550c054c4054a8184cc0550c054cc050e0180140550c05014052101806005","0x7014180614301418018181e9314cc05061380147a015430147a0164d06131","0x1201d4301412014d10601850c0506007061334d007949354e00750c0701418","0x1850c05060070601d016530614301d31014c60613801543015380153806131","0x184bc0550c050780701e550601e01543014d7016540601850c05048053e018","0x2570613501543015350143806138015430153801538060d8015430152f01656","0x18061430141d0156a0601850c0506007060d84d53835c053600550c0536005","0x6016581c8e301d4301ce0015350601850c0506012060e00154301407014d7","0x54c4183d80550c053b4054cc183b40550c051c8054d018061430141801c18","0x50612f06071015430142a0141e0602b01543014e30141d0602a01543014f6","0x1d060310154301434014e006034015430141836018061430141801c1806259","0x538c180c80550c050ac05130181c40550c050c405078180ac0550c0501805","0x3535c070c418061430141801818061430141801c1849005968350154301c71","0x54e0054e0184a40550c054a81201ccf0612a0154301418708180e00550c05","0x143014380150506032015430143201463061350154301535014380613801543","0x548123494d750c054a4380c9354e1383f4184a40550c054a4050d0180e005","0x4a0601850c05048053e018061430141801818061430141801c1848123494d7","0x5958180fc0550c0547c3201e550611f0154301524014900601850c0535c05","0x11d0165706135015430153501438061380154301538015380611d015430143f","0x5128180614301412014f80601850c05060070611d4d53835c054740550c05","0x440154301418464181040550c050602b0601850c0501c051481806143014d7","0x184700550c05060320611e0154301444104070c4181100550c05110050d018","0x184d00550c054d0054e0181200550c051180596c181180550c054791c01c35","0x5048058e818121334d0d70144801543014480165706133015430153301438","0x14301418970184d00550c054d4058f0184d40550c054e00535c184e01201d43","0x1430141801c180625d0614301d334d007538184d00550c054d005268184cc05","0x18360180614301407014f80601850c0535c053e01806143014120145206018","0x50780597c180780550c0507405978180740550c054c405518184c40550c05","0x1430152f0166006005015430140501484060180154301418015380612f01543","0x5048058e8183600550c05060fb0601850c05060070612f0141835c054bc05","0xe3060d7984183600550c05360052681838c0550c053800535c183801201d43","0x134060060154301406016630601850c0506007060ed016620187201d4301cd8","0x2a0149a0602b0154301412014d70602a0154301418990183d80550c0501805","0x5994341c40750c070a82b1c8d7984183d80550c053d8050d0180a80550c05","0x13306032015430143401534060340154301434016630601850c050600706031","0x5210181c40550c051c4054e0184900550c050c8054cc180d40550c053d805","0x3501434060d701543014d70143406007015430140701434060050154301405","0x3835d43015240d4d701c051c535534184900550c05490050d0180d40550c05","0x535c053e01806143014f6014f80601850c0506007061294a83835c054a52a","0x34061230154301418998184940550c050602b0601850c0501c053e01806143","0x70d41847c0550c0506032061200154301523494070c41848c0550c0548c05","0x5210180c40550c050c4054e0184740550c050fc0599c180fc0550c054811f","0x18061430141801c18474050c4d70151d015430151d01660060050154301405","0x143014180ac180614301407014f80601850c0535c053e018061430141201452","0x550c051104101c31060440154301444014340604401543014189981810405","0x4801543014460166706046015430151e470070d4184700550c05060320611e","0x51200550c0512005980180140550c0501405210183b40550c053b4054e018","0x184e0059a01235c0750c0701c054d41801c0550c050140535c18120053b4d7","0x135014580613401543014d70141d061350154301412014560601850c0506007","0x6406131015430141836018061430141801c1806269014184bc184cc0550c05","0x59a8184cc0550c0507405160184d00550c054e005074180740550c054c405","0xe00166b3600550c074cc05170184bc0550c0507805130180793401d4301534","0x50d0181c80550c0538c054cc1838c0550c05360054d018061430141801c18","0x18061430141801c183d8059b4ed0180750c071c81801e6c060720154301472","0x59b8180ad3401d43015340166a0602a01543014183ec18061430152f01452","0x3401d4301c710a82b018129bc180a80550c050a805268181c4ed01d43014ed","0x143014350163c060354d00750c054d0059a818061430141801c180c8059c031","0x143014310141d0612401543015240149a060383b40750c053b4059b81849005","0x26f0601850c050600706123494079c5294a80750c070e1240d0d7530180c405","0x143014310144c0601850c05060070603f0167247d2001d4301d293b5344a812","0x14301441110079d0181100550c0547c05130181040550c05474059cc1847405","0x550c05470059d8184800550c05480054e0184700550c05478059d41847805","0x4601543014180ac180614301431014ed0601850c05060070611c480070151c","0x181280550c051204601c310604801543014480143406048015430141899818","0x1380611a015430151b016770611b015430144a130070d4181300550c0506032","0x18061430141801c184683f01c054680550c05468059d8180fc0550c050fc05","0x53b4057fc180614301534014ed0601850c050c4053b4180614301523015ff","0x1813c0550c0513c050d01813c0550c05062780611901543014180ac1806143","0x181380550c054585201c350605201543014180c8184580550c0513d1901c31","0x7014500154301450016760612501543015250153806050015430144e01677","0x180ac180614301534014ed0601850c053b4057fc18061430141801c1814125","0x51605601c3106058015430145801434060580154301418998181580550c05","0x1430145501677060550154301464170070d4181700550c05060320606401543","0x1801c1818c3201c0518c0550c0518c059d8180c80550c050c8054e01818c05","0x3d015430145f016790605f0154301418360180614301534014ed0601850c05","0xf601543014f60153806075015430143b016750603b015430143d4bc079d018","0x1850c053800513c18061430141801c181d4f601c051d40550c051d4059d818","0x79d01819c0550c05054059e4180540550c05060d80601850c054d0053b418","0x59d8180600550c05060054e0184500550c051a4059d4181a40550c0519d2f","0xd84bc1e35e7a075314ccd750c070480701dcb0611406007015140154301514","0x50e0183800550c0507405738180740550c050740573418061430141801c18","0x27b0187238cd750c074c53301dcb060e001543014e0015cf061330154301533","0x550c0501805738180180550c050180573418061430141801c180a8f63b4d7","0x50d00574c180614301471015d2060350c8310d0714e1430142b015d10602b","0x184900550c050c805754180614301435014f80601850c050c4057501806143","0x1850c054a80574c180614301438015d206123495294a8384e143014e0015d1","0x50d0184800550c054a405754180614301523014f80601850c054940575018","0x50e01847c0550c0547c050d01847c0550c054812401ccf061240154301524","0x70603f0167c0614301d1f014c60607201543014720152a060e301543014e3","0x143014410167e06041015430151d0167d0611d01543014183dc180614301418","0x550c0547005260184700550c0547805a001806143014440167f0611e11007","0x181280550c0512805268181280550c05060fb060480154301446014ee06046","0x11613d1935e814691b130d750c071204a1c8e3048eb060480154301448014ec","0x84060180154301418015380604e1480750c054e0051b418061430141801c18","0x54a81835c0550c0535c052c0181300550c05130050e0180140550c0501405","0x5344184685001d4301450014d106050015430151a014340611b015430151b","0x131a08184d00550c054d00518c181580550c05158050d0181593501d4301535","0x550c0717c05a0c1817c631545c190584d54301534158501391b35c4c01418","0x75015430151a0154a0601850c050f405a1418061430141801c180ec05a103d","0x3f06069015430141847c1819c0550c0505405a1c180540550c051d405a1818","0x50e0181b40550c0544d141a4d71041844c0550c050611d061140154301418","0x5c04948060670154301467015e20606301543014630152a0605c015430145c","0x1430141801c181ec05a21100154301d120151c061121cc6f35d43014671b463","0xfb06076015430147a014ee0607a01543014183dc1806143015100144606018","0x53b0181f00550c051f005268184353501d4301535014d10607c0154301418","0x7061044150635e8a4250b01d4301d0d1d87c1cc6f4e289060760154301476","0x540005a1c184000550c0540405a30184040550c054d405a2c180614301418","0x183f80550c050611d060ff01543014180fc182180550c050611f0608401543","0x10901543015090152a0610b015430150b014380608901543014fe3fc8635c41","0xfc0151c060fc3f48b35d43014842250942c12520182100550c052100578818","0x143014183601806143014fa014460601850c0506007060f90168d3e80550c07","0x14301458015380609201543014900168f0609001543014f814807a38183e005","0x550c05154052c01822c0550c0522c050e0181900550c05190052101816005","0x923f45522c641613501492015430149201690060fd01543014fd0152a06055","0x5801538060f701543014f9016910601850c05148051bc18061430141801c18","0x5154052c01822c0550c0522c050e0181900550c0519005210181600550c05","0x5522c6416135014f701543014f701690060fd01543014fd0152a0605501543","0x180c8180614301535014f80601850c05148051bc18061430141801c183dcfd","0x5801538060f101543014f401691060f401543015043cc070d4183cc0550c05","0x5154052c0184180550c05418050e0181900550c0519005210181600550c05","0x554186416135014f101543014f1016900610501543015050152a0605501543","0x5a44180614301535014f80601850c05148051bc18061430141801c183c505","0x6f01438060640154301464014840605801543014580153806096015430147b","0x525805a40181cc0550c051cc054a8181540550c05154052c0181bc0550c05","0x1806143014520146f0601850c0506007060961cc551bc64161350149601543","0x580153806098015430143b016910601850c05468053e0180614301535014f8","0x5154052c0181700550c05170050e0181900550c0519005210181600550c05","0x551706416135014980154301498016900606301543014630152a0605501543","0x51bc180614301534014520601850c054d4053e018061430141801c1826063","0x53ec05a44183ec0550c05458ee01c35060ee01543014180c8180614301538","0x143015190143806005015430140501484060180154301418015380609a01543","0x550c0526805a401813c0550c0513c054a81835c0550c0535c052c01846405","0x53e018061430143f0156a0601850c05060070609a13cd746405061350149a","0xec01543014180ac1806143015380146f0601850c054d005148180614301535","0x182740550c053acec01c31060eb01543014eb01434060eb01543014187a018","0x12f060a1015430149d01505060e901543014720152a060ea01543014e301438","0x180614301534014520601850c054d4053e018061430141801c180629201418","0xf60152a060ea01543014ed014380601850c05380057a81806143015380146f","0x18061430141801c1806292014184bc182840550c050a805414183a40550c05","0x5078050e01806143015380146f0601850c054d005148180614301535014f8","0x550c0506032060a101543014d801505060e9015430152f0152a060ea01543","0x550c05060054e0182940550c0528c05a441828c0550c05284e501c35060e5","0xd701543014d7014b0060ea01543014ea014380600501543014050148406018","0x18294e935cea014184d4052940550c0529405a40183a40550c053a4054a818","0x13301695061330154301534016940613401543014185ac184d40550c0506293","0x5078054cc180780550c0507405a5c180614301531016960601d4c40750c05","0x1354bc0735db7061350154301535014340612f015430152f014340612f01543","0xd80607238c0750c053801801d45060e001543014e001434060e03600750c05","0x72014ee060f601543014ed01698060ed0154301406014d2060060154301418","0x143014f6014340602b015430142b0149a0602b01543014183ec180a80550c05","0x2a0acd701538a241838c0550c0538c054e0183600550c0536005364183d805","0x184900550c05060f70601850c0506007060350c83135e990d07101d4301cf6","0x38061294e00750c054e005344184a80550c05060fb060380154301524014ee","0x138a24180e00550c050e0053b0184a80550c054a805268181c40550c051c405","0x1380168b0601850c05060070603f47d2035e9a48d2501d4301d290e12a0d071","0x1430141847c181100550c0510405a1c181040550c0547405a30184740550c05","0x550c051191c478d7104181180550c050611d0611c01543014180fc1847805","0x440154301444015e20612301543015230152a0612501543015250143806048","0x1846405a6d1a0154301d1b0151c0611b1304a35d4301444121234941252018","0x513c1201e8e0604f015430141836018061430151a014460601850c0506007","0x1430144a01438060e301543014e3015380605201543015160168f0611601543","0x550c0514805a40181300550c05130054a8183600550c05360053641812805","0x119016910601850c05048051bc18061430141801c181484c3604a38d3801452","0x536005364181280550c05128050e01838c0550c0538c054e0181380550c05","0x4c3604a38d380144e015430144e016900604c015430144c0152a060d801543","0x5060320601850c054e0053e01806143014120146f0601850c05060070604e","0x538c054e0181600550c0515805a44181580550c050fc5001c350605001543","0x1430151f0152a060d801543014d8014d906120015430152001438060e301543","0x6f0601850c05060070605847cd8480e34e0051600550c0516005a401847c05","0x50d46401c350606401543014180c8180614301538014f80601850c0504805","0x1430143101438060e301543014e30153806055015430145c016910605c01543","0x550c0515405a40180c80550c050c8054a8183600550c0536005364180c405","0x5510184e00550c050602b0601201543014180ac18154323603138d3801455","0x29f4c405a79330154335d340169d0601850c054d405a70184d13501d43014d7","0x1850c05060070612f016a10780550c074cc05a8018061430141801c1807405","0x183800550c053601201c31060d801543014d801434060d80154301418a8818","0x180180550c051c8e001c310607201543014e301533060e3015430141e016a3","0x50600706018a90050612f060f6015430153801505060ed015430140601505","0x550c050a81201c310602a015430142a014340602a0154301418a941806143","0x550c050d02b01c310603401543014710153306071015430152f016a60602b","0x706018a90050612f060f6015430153801505060ed01543014310150506031","0x706032015430141d016a80601850c0506007060184c405a9c180614301418","0x50d41201c3106035015430143501434060350154301418aa4180614301418","0x1430152a015d80612a0154301438016ab060380154301432016aa0612401543","0x1430152501505060ed0154301524015050612501543015294e0070c4184a405","0x750c053d8051201806143015230144a0612048c0750c053b405120183d805","0x41015430143f0144c0611d01543015200144c0601850c0547c05128180fd1f","0xd80601850c0506007060481191c35ead4784401d4301c414740506012ab018","0x50e01846c0550c0513005794181300550c051280701de40604a0154301418","0x11e110d70151b015430151b015e60611e015430151e0152a060440154301444","0x11a01c350611a01543014180c8180614301407015da0601850c05060070611b","0x460152a0611c015430151c014380604f0154301519015e7061190154301448","0x70154301405014d70604f1191c35c0513c0550c0513c05798181180550c05","0x550c05048054d018061430141801c184e005ab81235c0750c0701c054d418","0x13101543014d70141d061330154301534015310613401543015350153306135","0x1430141836018061430141801c18062af014184bc180740550c054cc0507818","0x550c054bc05078184c40550c054e005074184bc0550c05078053801807805","0x550c070740538c183800550c0536005130183613101d43015310166a0601d","0x7060f6016b23b40601d4301ce306007ac418061430141801c181c805ac0e3","0x14301d3101535060060154301406015380601850c0538005148180614301418","0x50d0054cc180d00550c050ac054d018061430141801c181c405acc2b0a807","0x143014320141e06035015430142a0141d060320154301431015310603101543","0x38014e006038015430141836018061430141801c18062b4014184bc1849005","0x50d405130184900550c054a805078180d40550c051c405074184a80550c05","0x5018054e018061430141801c1848c05ad5250154301d24014e30612901543","0x11f014dc0611f4800750c054a40601ce2061290154301529014630600601543","0x52dc181104101d430143f014db0601850c05060070611d016b60fc0550c07","0x181180550c05479253b4d7ae018061430141801c1847005add1e0154301c44","0x181300550c0512805aec181280550c051204101eba060480154301446016b9","0x1850c05060070604c480070144c015430144c016bc06120015430152001538","0x7ae81846c0550c0547005af4180614301525014f80601850c053b40575018","0x5af0184800550c05480054e0184640550c0546805aec184680550c0546c41","0x5750180614301525014f80601850c05060070611948007015190154301519","0x513c05af0184800550c05480054e01813c0550c0547405af81806143014ed","0x548c05af41806143014ed015d40601850c05060070604f480070144f01543","0x5018054e0181380550c0514805aec181480550c054592901eba0611601543","0x131014ed0601850c05060070604e018070144e015430144e016bc0600601543","0x4f0601850c050600706018afc050612f0605001543014f6015380601850c05","0x14301418360181400550c05060054e0180614301531014ed0601850c051c805","0x14301464016bb06064015430145838007ae8181600550c0515805af41815805","0x506007014180614301418018181705001c051700550c0517005af01817005","0x120613101543014d7016c10601850c0506007061334d007b01354e00750c07","0x184bc05b0c1e0740750c074c405b08184e00550c054e0054e0180614301418","0xd8016c6060e0015430141d016c5060d8015430141e016c40601850c0506007","0x15006072015430141836018061430141801c18062c7014184bc1838c0550c05","0x58801838c0550c0501805b18183800550c054bc05b14180180550c051c805","0x5b2818061430141801c180a805b24f60154301ce3016c8060ed01543014e0","0x151060320c43435d4301471016cc06071015430142b016cb0602b01543014f6","0x138b34180c80550c050c80518c180c40550c050c4050d0180d00550c050d005","0x1801818061430141801c18495294a8d7b38384903535d4301c320c43401d35","0x54e0054e01848c0550c050e01201ecf060380154301438014630601850c05","0x143014ed016210612401543015240152a060350154301435014380613801543","0x11d0fd1f4801250c0548ced490354e13888c1848c0550c0548c05888183b405","0x1850c053b40589c18061430141801818061430141801c184743f47d2004805","0x2d0060440154301525104070d4181040550c05060320601850c05048051d818","0x54a8184a80550c054a8050e0184e00550c054e0054e0184780550c0511005","0x1850c05060070611e4a52a4e0120151e015430151e016d1061290154301529","0x123b4d7b48184700550c05060d80601850c050a80513c18061430141801818","0x1350143806138015430153801538060480154301446016d306046015430151c","0x74d538048051200550c0512005b441801c0550c0501c054a8184d40550c05","0x50602b0601850c05048051d81806143014d7016270601850c050600706048","0x1430144c128070c4181300550c05130050d0181300550c05061190604a01543","0x550c0546405b40184640550c0546d1a01c350611a01543014180c81846c05","0x701543014070152a06133015430153301438061340154301534015380604f","0x5060070141806143014180181813c074cd340480513c0550c0513c05b4418","0x12061330154301407014d70601850c0506007061344d407b51380480750c07","0x1807805b541d4c40750c074cc054d4180480550c05048054e0180614301418","0x12f01458060d801543015310141d0612f015430141d014560601850c0506007","0x64060e3015430141836018061430141801c18062d6014184bc183800550c05","0x5170183800550c051c805160183600550c0507805074181c80550c0538c05","0x5018054d018061430141801818061430141801c183b405b5c060154301ce0","0x50a8d701c310602a015430142a014340602a01543014f601533060f601543","0x1430153801438060120154301412015380607101543014d80144c0602b01543","0x2b1c538048128f4180ac0550c050ac05414181c40550c051c40518c184e005","0x4f0601850c05060060601850c0506007060320c43435c050c8310d0d750c05","0x50d4d701e420603501543014183601806143014d8014ed0601850c053b405","0x143015380143806012015430141201538060380154301524016430612401543","0xd70144a0601850c0506007060384e01235c050e00550c050e005904184e005","0x184a40550c05061190612a01543014180ac180614301407014520601850c05","0x350612301543014180c8184940550c054a52a01c3106129015430152901434","0x38061350154301535015380611f01543015200164006120015430152548c07","0x14301538014d10611f4d13535c0547c0550c0547c05904184d00550c054d005","0x14301538014f80601850c050600706134016d80614301d35014c6061354e007","0x183601806143014d7014f80601850c05048053e0180614301407014f806018","0x50740597c180740550c054c405978184c40550c054cc05518184cc0550c05","0x1430141e0166006005015430140501484060180154301418015380601e01543","0x14301418b641806143015340156a0601850c05060070601e0141835c0507805","0x5380050d0183800550c054bcd801ccf060d84e00750c054e005344184bc05","0x14301538014f80601850c0506007060e3016da0614301ce0014c6060e001543","0x183601806143014d7014f80601850c05048053e0180614301407014f806018","0x53b40597c183b40550c0501805978180180550c051c805518181c80550c05","0x143014f6016600600501543014050148406018015430141801538060f601543","0x14301418b641806143014e30156a0601850c0506007060f60141835c053d805","0x51c4050d0181c40550c050a82b01ccf0602b0480750c0504805344180a805","0x14301538014f80601850c050600706034016db0614301c71014c60607101543","0x183601806143014d7014f80601850c05048053e0180614301407014f806018","0x50d40597c180d40550c050c805978180c80550c050c405518180c40550c05","0x143015240166006005015430140501484060180154301418015380612401543","0xd706007b701806143014340156a0601850c0506007061240141835c0549005","0x2de061250480750c050480534418061430141801c184a405b752a0e00750c07","0x1850c05060070611f016df4812301d4301d250e007b70184a80550c054a805","0x50d0180fc0550c050fc050d0184740550c05062e10603f0154301418b8018","0x3f01ee2061200154301520016de061230154301523015380611d015430151d","0x511005b94181100550c05062e40601850c050600706018b8c410154301d1d","0x181180550c0511805b9c181191c01d43015204e11e01412b98184784401d43","0x18ba4480154301c46016e80611c015430151c01484060410154301441016de","0x5b9418061430144c014f80604c1280750c0512005ba818061430141801c18","0x12a0484446812b98184651a01d430144101d1b47012b981846c4401d4301444","0x4f01484061190154301519016e7061160154301516016e70611613c0750c05","0x546405b9418061430141801c18062eb1480550c0745805ba01813c0550c05","0x5b9c181580550c051404e01eed060501480750c0514805bb0181391901d43","0x58016ea0601850c050600706018bb8580154301c56016e8060560154301456","0x6401ccf060551280750c051280534418061430145c014f80605c1900750c05","0x70605f016ef0614301c63014c606063015430146301434060630154301455","0x1850c051480554c180614301519016f00601850c05128053e0180614301418","0x25f06075015430143b0165e0603b015430143d014d20603d015430141836018","0x59801813c0550c0513c052101848c0550c0548c054e0180540550c051d405","0x12f0601850c0517c055a818061430141801c180544f48cd7014150154301415","0x550c0519c05bcc1819c0550c0514805bc818061430141801c18062f101418","0x1850c050600706114016f60614301c69016f5060690154301469016f406069","0x5062f70611301543014180ac180614301519016f00601850c05128053e018","0x143014180c8181bc0550c051b51301c310606d015430146d014340606d01543","0x14301523015380611001543015120166706112015430146f1cc070d4181cc05","0x70611013d2335c054400550c05440059801813c0550c0513c052101848c05","0x7b016e80607b015430147b016e70607b015430151446407bb4180614301418","0x7c014f80607c1d80750c051e805ba818061430141801c18062f81e80550c07","0x743405318184340550c05434050d0184340550c051287601ccf0601850c05","0x550c0542405348184240550c05060d80601850c05060070610b016f906143","0x1230154301523015380610401543015050165f0610501543015060165e06106","0x5060070610413d2335c054100550c05410059801813c0550c0513c0521018","0x4a014f80601850c050600706018be8050612f0601850c0542c055a81806143","0x550c0540005978184000550c0540405518184040550c05060d80601850c05","0x4f015430144f01484061230154301523015380608601543014840165f06084","0x1430144a014f80601850c05060070608613d2335c052180550c052180598018","0x25e060fe01543014ff01546060ff0154301418360180614301519016f006018","0x52101848c0550c0548c054e01822c0550c052240597c182240550c053f805","0x18061430141801c1822c4f48cd70148b015430148b016600604f015430144f","0x51040554c180614301412014f80601850c054a80554c180614301444016f0","0x183f00550c053f405518183f40550c05060d80601850c0501c053e01806143","0x8406123015430152301538060f901543014fa0165f060fa01543014fc0165e","0x1850c0506007060f94712335c053e40550c053e405980184700550c0547005","0x138014f80601850c05048053e018061430152a015530601850c0501c053e018","0x9001543014f801546060f80154301418360180614301520015530601850c05","0x1848c0550c0548c054e0183dc0550c052480597c182480550c052400597818","0x1430141801c183dc0548cd7014f701543014f70166006005015430140501484","0x53e018061430152a015530601850c0501c053e0180614301538014f806018","0x143014f40165e060f401543014f301546060f30154301418360180614301412","0x550c05014052101847c0550c0547c054e0182580550c053c40597c183c405","0x54e0053e018061430141801c182580547cd70149601543014960166006005","0x146060980154301418360180614301412014f80601850c0501c053e01806143","0x54e0182680550c053ec0597c183ec0550c053b805978183b80550c0526005","0x54a4d70149a015430149a0166006005015430140501484061290154301529","0x18394180740550c05060e50613101543014183941806143015380146f0609a","0x550c05062fb060d8015430152f015460612f0154301418360180780550c05","0x1430141801c181c805bf0e30154301cd8014a1060d801543014d801400060e0","0x601543014e04c407bf4184c40550c054c4050d01806143014e30144f06018","0x340602a01543014d7014b0060f601543014ed014d2060ed015430141836018","0x5000180d00550c05078050d0181c40550c05074050d0180ac0550c0501805","0x1806143014720144f0601850c050600706018bf8050612f0603101543014f6","0x184c40550c054c4050d0180c80550c053801d01efd0601d015430141d01434","0x1250c05078324c4d7049520601e015430141e0143406032015430143201434","0x14301435014b006125015430152901546061290154301418360184a83849035","0x550c054a8050d0181c40550c050e0050d0180ac0550c05490050d0180a805","0x3004800550c070c4052841848c0550c05062ff0603101543015250140006034","0x180fc0550c0548c2b01efd0601850c054800513c18061430141801c1847c05","0x50d0181100550c050a8052c0181040550c0547405348184740550c05060d8","0x4101400060460154301434014340611c0154301471014340611e015430143f","0x2fd0601850c0547c0513c18061430141801c1806301014184bc181200550c05","0x1250c050d04a0ac2a049520604a015430144a014340604a01543015231c407","0x1430144c014b006116015430144f015460604f0154301418360184651a46c4c","0x550c05464050d0184700550c05468050d0184780550c0546c050d01811005","0x641605635f021404e148d750c070480701dcb0604801543015160140006046","0x5744181700550c0514005738181400550c051400573418061430141801c18","0x1d40601850c0518c0574c180614301455015d20603b0f45f18c554e1430145c","0x5148050e0181d40550c050f40575418061430143b014f80601850c0517c05","0x14301c48014a1060750154301475014340604e015430144e0152a0605201543","0x1430147547807bf41806143014150144f0601850c0506007060670170305405","0x6d0154301444014b0061130154301514014d2061140154301418360181a405","0x184480550c05118050d0181cc0550c05470050d0181bc0550c051a4050d018","0x143014670144f0601850c050600706018c10050612f06110015430151301400","0x461ed1e11012548181ec0550c051ec050d0181ec0550c051d51c01efd06018","0x52c0184240550c0542c055181842c0550c05060d80610d1f0761e81250c05","0x10d0143406073015430147c014340606f0154301476014340606d015430147a","0x706105017054180550c0744005284184400550c0542405000184480550c05","0x14301418360184100550c054d46f01efd0601850c054180513c180614301418","0x550c05410050d0182100550c051b4052c0184000550c05404053481840405","0x89015430150001400060fe015430151201434060ff01543014730143406086","0x54d47301efd0601850c054140513c18061430141801c1806306014184bc18","0xf93e8fc3f41250c054488b1bc6d049520608b015430148b014340608b01543","0x340608401543014fd014b00609001543014f801546060f8015430141836018","0x5000183f80550c053e4050d0183fc0550c053e8050d0182180550c053f005","0x513c18061430141801c183dc05c1c920154301c89014a1060890154301490","0x53d0050d0183d00550c053cc8601efd060f30154301418708180614301492","0x180614301498014f8060ee260963c41250c053f8ff3d08404952060f401543","0x184bc182680550c05258050d0183ec0550c053c4052c01806143014ee014f8","0x2fd060ec01543014187081806143014f70144f0601850c050600706018c2005","0x1250c053f8eb2188404952060eb01543014eb01434060eb01543014ec3fc07","0x550c05274052c01806143014a1014f80601850c053a4053e018284e93a89d","0x5015430140501484060180154301418015380609a01543014ea01434060fb","0x184cc0550c054cc0518c184d00550c054d0050d0182680550c05268050d018","0x1829c05c24e10154301ca5014ea060a528ce535d43015334d09a014184e09d","0x1838805c28a90154301cdf014a1060df01543014e1014e90601850c0506007","0x550c050624b060dc01543014180ac1806143014a90144f0601850c0506007","0xb001543014180c8182dc0550c0536cdc01c31060db01543014db01434060db","0xe501543014e501538060b201543014b10170b060b101543014b72c0070d418","0x183ec0550c053ec052c0181480550c05148050e01828c0550c0528c0521018","0x7060b2138fb148a339535014b201543014b20170c0604e015430144e0152a","0x550c052d005c34182d00550c05060d80601850c053880513c180614301418","0xa301543014a301484060e501543014e501538060d401543014d90170e060d9","0x181380550c05138054a8183ec0550c053ec052c0181480550c05148050e018","0xa70170b0601850c0506007060d4138fb148a339535014d401543014d40170c","0x5148050e01828c0550c0528c05210183940550c05394054e0183440550c05","0x143014d10170c0604e015430144e0152a060fb01543014fb014b00605201543","0xf80601850c0512005c3c18061430141801c183444e3ec5228ce54d40534405","0x1430151c014f80601850c054d0053e0180614301533014520601850c0547805","0x70d41833c0550c05060320601850c054d4053e0180614301446014f806018","0x5210180600550c05060054e0183480550c0531805c2c183180550c05190cf","0x580152a060440154301444014b006056015430145601438060050154301405","0xa9348180492a3485811056014184d4053480550c0534805c30181600550c05","0xd701c05060d12a4d2060120f4a9348180481835c0701418344a9348180483d","0x3d2a4d23ac184e2b8048d701c05060d12a4d23ac184e03d2a4d23ac184e0d9","0x18344a9348eb061380f4a9348eb06138c401235c0701418344a9348eb06138","0x184e312048d701c05060d12a4d23ac184e03d2a4d23ac184e311048d701c05","0xa9348180483d2a4d206012c4c1235c0701418344a9348eb061380f4a9348eb","0x1235c0701418344a9348fe3ac184d43d2a4d23f8eb06135c50d701c05060d1","0x1350f4a9348fe3ac184d71635c0701418344a9348180483d2a4d206012c5538","0xd12a4d2061004e03d2a4d2061004e3174e01235c0701418344a9348fe3ac18","0x12c641235c0701418344a934818401380f4a93481840138c601235c0701418","0x5060e13481835c061183d348184e31a35c0701418364a9348d71b4b22a4d2","0xe93481804b1c048d701c05060e52a4d206012118842a4d206138c6c1235c07","0x7014183b0a9348eb06138210a9348eb06138c74d701c05060ea3481835c32","0x3d018063ac184e31f048d701c05060ee3481835c060c83d348184e31e048d7","0xa93f8d23ac184cf21014183f41801c3d06007c801235c07014183dceb060d7","0x842a500348184d7224d1354e01235c07014183fca93f8d23ac184d43d01884","0x5060d92a4d235d122c8a934812c8d38048d701c05060ff2a500348184e006","0x50611b2a4d2060121044a2a4d206138c940506114060070f41801f2435c07","0x601806018eb06135c9cd701c05060ea3481835c320f4d206012c981235c07","0xd23ac184d43d01806210a93f8d23ac184c7284e01235c07014183dceb060d7","0x3294cd344d538048d701c05061242a4fe"],"sierra_program_debug_info":{"type_names":[[0,"RangeCheck"],[1,"Const"],[2,"Const"],[3,"Const"],[4,"EcPoint"],[5,"EcState"],[6,"Const"],[7,"Const"],[8,"NonZero"],[9,"Const"],[10,"Box"],[11,"Unit"],[12,"core::option::Option::>"],[13,"Const"],[14,"Const"],[15,"Const"],[16,"openzeppelin_introspection::src5::SRC5Component::Event"],[17,"felt252"],[18,"core::starknet::storage::storage_base::StorageBase::>>"],[19,"Const"],[20,"openzeppelin_account::account::AccountComponent::OwnerAdded"],[21,"openzeppelin_account::account::AccountComponent::OwnerRemoved"],[22,"openzeppelin_account::account::AccountComponent::Event"],[23,"Tuple"],[24,"core::panics::Panic"],[25,"Array"],[26,"Tuple>"],[27,"core::panics::PanicResult::<((),)>"],[28,"StorageBaseAddress"],[29,"core::starknet::storage::StoragePointer0Offset::>"],[30,"Const"],[31,"Const"],[32,"Const"],[33,"Const"],[34,"Const"],[35,"Box>"],[36,"core::option::Option::>>"],[37,"Array>"],[38,"Snapshot>>"],[39,"Uninitialized>>>"],[40,"Const"],[41,"Array"],[42,"Snapshot>"],[43,"core::array::Span::"],[44,"Tuple, Array>, Unit>"],[45,"core::panics::PanicResult::<(core::array::Span::, core::array::Array::>, ())>"],[46,"Const, Const>"],[47,"Const"],[48,"Const"],[49,"Const, Const>"],[50,"u128"],[51,"core::integer::u256"],[52,"Const"],[53,"Array"],[54,"Snapshot>"],[55,"core::array::Span::"],[56,"u64"],[57,"core::starknet::info::v2::ResourceBounds"],[58,"ContractAddress"],[59,"Snapshot>"],[60,"core::array::Span::"],[61,"u32"],[62,"core::starknet::info::v2::TxInfo"],[63,"core::starknet::account::Call"],[64,"core::option::Option::"],[65,"Tuple, core::option::Option::>"],[66,"core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>"],[67,"Const"],[68,"ClassHash"],[69,"openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded"],[70,"openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event"],[71,"katana_account::Account::Event"],[72,"Const"],[73,"Box"],[74,"Box"],[75,"core::starknet::info::BlockInfo"],[76,"core::starknet::info::v2::ExecutionInfo"],[77,"Box"],[78,"Const"],[79,"core::starknet::storage::StoragePointer0Offset::"],[80,"core::starknet::storage::storage_base::StorageBase::>"],[81,"Const"],[82,"NonZero"],[83,"Const"],[84,"Pedersen"],[85,"openzeppelin_account::account::AccountComponent::ComponentState::"],[86,"Tuple, Unit>"],[87,"core::panics::PanicResult::<(openzeppelin_account::account::AccountComponent::ComponentState::, ())>"],[88,"Poseidon"],[89,"core::option::Option::>"],[90,"Tuple, core::option::Option::>>"],[91,"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"],[92,"Const"],[93,"Const"],[94,"Const"],[95,"Const"],[96,"core::bool"],[97,"Tuple"],[98,"core::panics::PanicResult::<(core::bool,)>"],[99,"Const"],[100,"StorageAddress"],[101,"core::starknet::storage::StoragePointer0Offset::"],[102,"core::option::Option::>"],[103,"Tuple, core::option::Option::>>"],[104,"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"],[105,"Uninitialized"],[106,"Tuple"],[107,"core::panics::PanicResult::<(core::felt252,)>"],[108,"EcOp"],[109,"Tuple, Unit>"],[110,"core::panics::PanicResult::<(core::array::Array::, ())>"],[111,"core::array::Span::>"],[112,"Tuple>>"],[113,"core::panics::PanicResult::<(core::array::Array::>,)>"],[114,"core::option::Option::>"],[115,"Tuple, core::option::Option::>>"],[116,"core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>"],[117,"Box"],[118,"core::option::Option::>"],[119,"System"],[120,"Uninitialized"],[121,"Const"],[122,"Const"],[123,"Tuple>"],[124,"openzeppelin_introspection::src5::SRC5Component::ComponentState::"],[125,"openzeppelin_upgrades::upgradeable::UpgradeableComponent::ComponentState::"],[126,"katana_account::Account::ContractState"],[127,"Tuple"],[128,"core::panics::PanicResult::<(katana_account::Account::ContractState, ())>"],[129,"BuiltinCosts"],[130,"core::panics::PanicResult::<(core::array::Span::,)>"],[131,"Const"],[132,"core::option::Option::"],[133,"GasBuiltin"]],"libfunc_names":[[0,"revoke_ap_tracking"],[1,"withdraw_gas"],[2,"branch_align"],[3,"struct_deconstruct>"],[4,"enable_ap_tracking"],[5,"store_temp"],[6,"array_snapshot_pop_front"],[7,"unbox"],[8,"rename"],[9,"enum_init, 0>"],[10,"store_temp>>"],[11,"store_temp>"],[12,"jump"],[13,"struct_construct"],[14,"enum_init, 1>"],[15,"enum_match>"],[16,"class_hash_try_from_felt252"],[17,"disable_ap_tracking"],[18,"drop>>"],[19,"drop>"],[20,"drop"],[21,"array_new"],[22,"const_as_immediate>"],[23,"store_temp"],[24,"array_append"],[25,"struct_construct"],[26,"struct_construct>>"],[27,"enum_init,)>, 1>"],[28,"store_temp"],[29,"store_temp"],[30,"store_temp,)>>"],[31,"get_builtin_costs"],[32,"store_temp"],[33,"withdraw_gas_all"],[34,"struct_construct>"],[35,"struct_construct>"],[36,"struct_construct>"],[37,"struct_construct"],[38,"store_temp"],[39,"function_call"],[40,"enum_match>"],[41,"drop>"],[42,"snapshot_take>"],[43,"drop>"],[44,"struct_construct>"],[45,"struct_construct>>"],[46,"enum_init,)>, 0>"],[47,"const_as_immediate>"],[48,"drop"],[49,"const_as_immediate>"],[50,"drop>"],[51,"alloc_local"],[52,"finalize_locals"],[53,"enum_init>, 0>"],[54,"store_temp>>"],[55,"enum_init>, 1>"],[56,"enum_match>>"],[57,"array_new"],[58,"store_temp>"],[59,"store_temp>"],[60,"function_call>"],[61,"enum_match, core::option::Option::>)>>"],[62,"struct_deconstruct, core::option::Option::>>>"],[63,"store_temp>>"],[64,"drop>"],[65,"enum_init>, 1>"],[66,"enum_match>>"],[67,"drop>"],[68,"snapshot_take>"],[69,"drop>"],[70,"function_call::__execute__>"],[71,"store_local"],[72,"enum_match>,)>>"],[73,"struct_deconstruct>>>"],[74,"snapshot_take>>"],[75,"drop>>"],[76,"dup>>>"],[77,"array_len>"],[78,"u32_to_felt252"],[79,"struct_construct>>"],[80,"store_temp>>"],[81,"store_temp>"],[82,"function_call, core::array::SpanFelt252Serde, core::array::SpanDrop::>>"],[83,"enum_match, ())>>"],[84,"struct_deconstruct, Unit>>"],[85,"store_temp"],[86,"function_call::validate_transaction>"],[87,"enum_match>"],[88,"struct_deconstruct>"],[89,"alloc_local"],[90,"store_local"],[91,"function_call>"],[92,"enum_match, core::option::Option::>)>>"],[93,"struct_deconstruct, core::option::Option::>>>"],[94,"store_temp>>"],[95,"drop"],[96,"enum_init>, 1>"],[97,"enum_match>>"],[98,"storage_base_address_const<550557492744938365112574611882025123252567779123164597803728068558738016655>"],[99,"struct_construct>"],[100,"snapshot_take>"],[101,"drop>"],[102,"struct_deconstruct>"],[103,"rename"],[104,"storage_address_from_base"],[105,"const_as_immediate>"],[106,"store_temp"],[107,"store_temp"],[108,"storage_read_syscall"],[109,"function_call"],[110,"enum_match>"],[111,"struct_deconstruct>"],[112,"enum_match"],[113,"const_as_immediate>"],[114,"const_as_immediate>"],[115,"struct_deconstruct>>"],[116,"drop"],[117,"const_as_immediate>"],[118,"drop>"],[119,"const_as_immediate>"],[120,"function_call"],[121,"enum_match, core::option::Option::>)>>"],[122,"struct_deconstruct, core::option::Option::>>>"],[123,"enum_match>>"],[124,"store_temp"],[125,"function_call::set_public_key>"],[126,"enum_match, ())>>"],[127,"drop, Unit>>"],[128,"store_temp"],[129,"const_as_immediate>"],[130,"dup"],[131,"felt252_sub"],[132,"felt252_is_zero"],[133,"enum_init"],[134,"store_temp"],[135,"drop>"],[136,"const_as_immediate>"],[137,"struct_construct>>"],[138,"snapshot_take>>"],[139,"drop>>"],[140,"struct_deconstruct>>"],[141,"pedersen"],[142,"storage_base_address_from_felt252"],[143,"struct_construct>"],[144,"snapshot_take>"],[145,"drop>"],[146,"struct_deconstruct>"],[147,"enum_init"],[148,"bool_not_impl"],[149,"const_as_immediate>"],[150,"function_call::initializer>"],[151,"get_execution_info_v2_syscall"],[152,"store_temp>"],[153,"unbox"],[154,"store_temp"],[155,"struct_deconstruct"],[156,"drop>"],[157,"drop>"],[158,"drop"],[159,"contract_address_to_felt252"],[160,"dup"],[161,"class_hash_to_felt252"],[162,"drop"],[163,"const_as_immediate>"],[164,"replace_class_syscall"],[165,"struct_construct"],[166,"enum_init"],[167,"enum_init"],[168,"store_temp"],[169,"function_call>>"],[170,"struct_construct>"],[171,"enum_init, 0>"],[172,"store_temp>"],[173,"enum_init, 1>"],[174,"const_as_immediate>"],[175,"drop"],[176,"enum_init>, 0>"],[177,"struct_construct, core::option::Option::>>>"],[178,"enum_init, core::option::Option::>)>, 0>"],[179,"store_temp, core::option::Option::>)>>"],[180,"function_call"],[181,"enum_match, core::option::Option::)>>"],[182,"struct_deconstruct, core::option::Option::>>"],[183,"enum_match>"],[184,"array_append"],[185,"enum_init, core::option::Option::>)>, 1>"],[186,"store_temp>"],[187,"unbox"],[188,"struct_deconstruct"],[189,"drop"],[190,"drop>"],[191,"drop"],[192,"u128s_from_felt252"],[193,"const_as_immediate>"],[194,"store_temp"],[195,"const_as_immediate, Const>>"],[196,"struct_deconstruct"],[197,"dup"],[198,"u128_overflowing_sub"],[199,"u128_eq"],[200,"const_as_immediate>"],[201,"rename"],[202,"const_as_immediate>"],[203,"enum_init>,)>, 1>"],[204,"store_temp>,)>>"],[205,"const_as_immediate, Const>>"],[206,"array_new>"],[207,"snapshot_take>"],[208,"struct_construct>"],[209,"store_temp>"],[210,"store_temp>>"],[211,"function_call"],[212,"enum_match, core::array::Array::>, ())>>"],[213,"struct_deconstruct, Array>, Unit>>"],[214,"drop>"],[215,"struct_construct>>>"],[216,"enum_init>,)>, 0>"],[217,"const_as_immediate>"],[218,"alloc_local>>>"],[219,"struct_deconstruct>>"],[220,"array_snapshot_pop_front>"],[221,"enum_init>>, 0>"],[222,"store_temp>>>"],[223,"store_temp>>>"],[224,"enum_init>>, 1>"],[225,"store_local>>>"],[226,"enum_match>>>"],[227,"unbox>"],[228,"dup>"],[229,"rename>"],[230,"array_len"],[231,"function_call>"],[232,"drop>>>"],[233,"enum_init, ())>, 1>"],[234,"store_temp, ())>>"],[235,"struct_construct, Unit>>"],[236,"enum_init, ())>, 0>"],[237,"drop>>>>"],[238,"drop>>"],[239,"store_temp"],[240,"const_as_immediate>"],[241,"enum_init, 1>"],[242,"store_temp>"],[243,"struct_construct>"],[244,"enum_init, 0>"],[245,"drop"],[246,"enum_init>, 0>"],[247,"struct_construct, core::option::Option::>>>"],[248,"enum_init, core::option::Option::>)>, 0>"],[249,"store_temp, core::option::Option::>)>>"],[250,"enum_init, core::option::Option::>)>, 1>"],[251,"const_as_immediate>"],[252,"u32_eq"],[253,"struct_construct>"],[254,"enum_init, 0>"],[255,"store_temp>"],[256,"array_get"],[257,"store_temp>"],[258,"const_as_immediate>"],[259,"function_call"],[260,"const_as_immediate>"],[261,"enum_init, 1>"],[262,"dup>>"],[263,"u32_try_from_felt252"],[264,"dup"],[265,"array_slice"],[266,"u32_overflowing_sub"],[267,"enum_init>, 0>"],[268,"struct_construct, core::option::Option::>>>"],[269,"enum_init, core::option::Option::>)>, 0>"],[270,"store_temp, core::option::Option::>)>>"],[271,"enum_init, core::option::Option::>)>, 1>"],[272,"const_as_immediate>"],[273,"enum_init>, 1>"],[274,"struct_construct>>"],[275,"snapshot_take>>"],[276,"drop>>"],[277,"struct_deconstruct>>"],[278,"function_call::assert_valid_new_owner>"],[279,"enum_match>"],[280,"drop>"],[281,"struct_construct"],[282,"enum_init"],[283,"enum_init"],[284,"storage_write_syscall"],[285,"struct_construct"],[286,"enum_init"],[287,"struct_construct, Unit>>"],[288,"enum_init, ())>, 0>"],[289,"store_temp, ())>>"],[290,"enum_init, ())>, 1>"],[291,"const_as_immediate>"],[292,"struct_construct>>>"],[293,"snapshot_take>>>"],[294,"drop>>>"],[295,"struct_deconstruct>>>"],[296,"bool_to_felt252"],[297,"snapshot_take"],[298,"drop"],[299,"enum_match"],[300,"enum_match"],[301,"const_as_immediate>"],[302,"struct_deconstruct"],[303,"const_as_immediate>"],[304,"struct_deconstruct"],[305,"enum_match"],[306,"enum_match"],[307,"const_as_immediate>"],[308,"struct_deconstruct"],[309,"rename"],[310,"emit_event_syscall"],[311,"contract_address_try_from_felt252"],[312,"struct_construct"],[313,"enum_init, 0>"],[314,"struct_construct, core::option::Option::>>"],[315,"enum_init, core::option::Option::)>, 0>"],[316,"store_temp, core::option::Option::)>>"],[317,"enum_init, 1>"],[318,"enum_init, core::option::Option::)>, 1>"],[319,"struct_deconstruct>"],[320,"array_snapshot_pop_front"],[321,"enum_init>, 0>"],[322,"store_temp>>"],[323,"store_temp>>"],[324,"enum_init>, 1>"],[325,"enum_match>>"],[326,"unbox"],[327,"rename"],[328,"struct_deconstruct"],[329,"store_temp"],[330,"call_contract_syscall"],[331,"array_append>"],[332,"enum_init, core::array::Array::>, ())>, 1>"],[333,"store_temp, core::array::Array::>, ())>>"],[334,"struct_construct, Array>, Unit>>"],[335,"enum_init, core::array::Array::>, ())>, 0>"],[336,"const_as_immediate>"],[337,"ec_point_from_x_nz"],[338,"store_temp>"],[339,"const_as_immediate>"],[340,"const_as_immediate>"],[341,"ec_point_try_new_nz"],[342,"ec_state_init"],[343,"dup"],[344,"ec_state_add_mul"],[345,"store_temp"],[346,"ec_state_try_finalize_nz"],[347,"ec_point_unwrap"],[348,"dup>"],[349,"ec_state_add"],[350,"drop"],[351,"drop>"],[352,"unwrap_non_zero"],[353,"ec_neg"],[354,"store_temp"],[355,"ec_point_is_zero"],[356,"const_as_immediate>"],[357,"const_as_immediate>"],[358,"felt252_add"],[359,"hades_permutation"],[360,"const_as_immediate>"],[361,"enum_init, 1>"],[362,"store_temp>"],[363,"struct_construct>"],[364,"enum_init, 0>"],[365,"drop"]],"user_func_names":[[0,"katana_account::Account::__wrapper__UpgradeableImpl__upgrade"],[1,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl____execute__::"],[2,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl____validate__::"],[3,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl__is_valid_signature::"],[4,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl__isValidSignature::"],[5,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl____validate_declare__::"],[6,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl____validate_deploy__::"],[7,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl__get_public_key::"],[8,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl__set_public_key::"],[9,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl__getPublicKey::"],[10,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl__setPublicKey::"],[11,"openzeppelin_account::account::AccountComponent::__wrapper__AccountMixinImpl__supports_interface::"],[12,"katana_account::Account::__wrapper__constructor"],[13,"katana_account::Account::UpgradeableImpl::upgrade"],[14,"core::array::deserialize_array_helper::"],[15,"openzeppelin_account::account::AccountComponent::SRC6::::__execute__"],[16,"core::array::serialize_array_helper::, core::array::SpanFelt252Serde, core::array::SpanDrop::>"],[17,"openzeppelin_account::account::AccountComponent::InternalImpl::::validate_transaction"],[18,"core::array::deserialize_array_helper::"],[19,"openzeppelin_account::utils::signature::is_valid_stark_signature"],[20,"core::array::SpanFelt252Serde::deserialize"],[21,"openzeppelin_account::account::AccountComponent::PublicKey::::set_public_key"],[22,"openzeppelin_account::account::AccountComponent::InternalImpl::::initializer"],[23,"katana_account::Account::ContractStateEventEmitter::emit::>"],[24,"core::starknet::account::CallSerde::deserialize"],[25,"openzeppelin_account::utils::execute_calls[expr16]"],[26,"core::array::serialize_array_helper::"],[27,"core::ecdsa::check_ecdsa_signature"],[28,"openzeppelin_account::account::AccountComponent::InternalImpl::::assert_valid_new_owner"]]},"contract_class_version":"0.1.0","entry_points_by_type":{"EXTERNAL":[{"selector":"0xbc0eb87884ab91e330445c3584a50d7ddf4b568f02fbeb456a6242cce3f5d9","function_idx":10},{"selector":"0xf2f7c15cbe06c8d94597cd91fd7f3369eae842359235712def5584f8d270cd","function_idx":0},{"selector":"0xfe80f537b66d12a00b6d3c072b44afbb716e78dde5c3f0ef116ee93d3e3283","function_idx":11},{"selector":"0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad","function_idx":1},{"selector":"0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775","function_idx":2},{"selector":"0x1a35984e05126dbecb7c3bb9929e7dd9106d460c59b1633739a5c733a5fb13b","function_idx":7},{"selector":"0x1a6c6a0bdec86cc645c91997d8eea83e87148659e3e61122f72361fd5e94079","function_idx":9},{"selector":"0x213dfe25e2ca309c4d615a09cfc95fdb2fc7dc73fbcad12c450fe93b1f2ff9e","function_idx":4},{"selector":"0x28420862938116cb3bbdbedee07451ccc54d4e9412dbef71142ad1980a30941","function_idx":3},{"selector":"0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3","function_idx":5},{"selector":"0x2e3e21ff5952b2531241e37999d9c4c8b3034cccc89a202a6bf019bdf5294f9","function_idx":8},{"selector":"0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895","function_idx":6}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","function_idx":12}]},"abi":[{"type":"impl","name":"UpgradeableImpl","interface_name":"openzeppelin_upgrades::interface::IUpgradeable"},{"type":"interface","name":"openzeppelin_upgrades::interface::IUpgradeable","items":[{"type":"function","name":"upgrade","inputs":[{"name":"new_class_hash","type":"core::starknet::class_hash::ClassHash"}],"outputs":[],"state_mutability":"external"}]},{"type":"impl","name":"AccountMixinImpl","interface_name":"openzeppelin_account::interface::AccountABI"},{"type":"struct","name":"core::array::Span::","members":[{"name":"snapshot","type":"@core::array::Array::"}]},{"type":"struct","name":"core::starknet::account::Call","members":[{"name":"to","type":"core::starknet::contract_address::ContractAddress"},{"name":"selector","type":"core::felt252"},{"name":"calldata","type":"core::array::Span::"}]},{"type":"enum","name":"core::bool","variants":[{"name":"False","type":"()"},{"name":"True","type":"()"}]},{"type":"interface","name":"openzeppelin_account::interface::AccountABI","items":[{"type":"function","name":"__execute__","inputs":[{"name":"calls","type":"core::array::Array::"}],"outputs":[{"type":"core::array::Array::>"}],"state_mutability":"view"},{"type":"function","name":"__validate__","inputs":[{"name":"calls","type":"core::array::Array::"}],"outputs":[{"type":"core::felt252"}],"state_mutability":"view"},{"type":"function","name":"is_valid_signature","inputs":[{"name":"hash","type":"core::felt252"},{"name":"signature","type":"core::array::Array::"}],"outputs":[{"type":"core::felt252"}],"state_mutability":"view"},{"type":"function","name":"supports_interface","inputs":[{"name":"interface_id","type":"core::felt252"}],"outputs":[{"type":"core::bool"}],"state_mutability":"view"},{"type":"function","name":"__validate_declare__","inputs":[{"name":"class_hash","type":"core::felt252"}],"outputs":[{"type":"core::felt252"}],"state_mutability":"view"},{"type":"function","name":"__validate_deploy__","inputs":[{"name":"class_hash","type":"core::felt252"},{"name":"contract_address_salt","type":"core::felt252"},{"name":"public_key","type":"core::felt252"}],"outputs":[{"type":"core::felt252"}],"state_mutability":"view"},{"type":"function","name":"get_public_key","inputs":[],"outputs":[{"type":"core::felt252"}],"state_mutability":"view"},{"type":"function","name":"set_public_key","inputs":[{"name":"new_public_key","type":"core::felt252"},{"name":"signature","type":"core::array::Span::"}],"outputs":[],"state_mutability":"external"},{"type":"function","name":"isValidSignature","inputs":[{"name":"hash","type":"core::felt252"},{"name":"signature","type":"core::array::Array::"}],"outputs":[{"type":"core::felt252"}],"state_mutability":"view"},{"type":"function","name":"getPublicKey","inputs":[],"outputs":[{"type":"core::felt252"}],"state_mutability":"view"},{"type":"function","name":"setPublicKey","inputs":[{"name":"newPublicKey","type":"core::felt252"},{"name":"signature","type":"core::array::Span::"}],"outputs":[],"state_mutability":"external"}]},{"type":"constructor","name":"constructor","inputs":[{"name":"public_key","type":"core::felt252"}]},{"type":"event","name":"openzeppelin_account::account::AccountComponent::OwnerAdded","kind":"struct","members":[{"name":"new_owner_guid","type":"core::felt252","kind":"key"}]},{"type":"event","name":"openzeppelin_account::account::AccountComponent::OwnerRemoved","kind":"struct","members":[{"name":"removed_owner_guid","type":"core::felt252","kind":"key"}]},{"type":"event","name":"openzeppelin_account::account::AccountComponent::Event","kind":"enum","variants":[{"name":"OwnerAdded","type":"openzeppelin_account::account::AccountComponent::OwnerAdded","kind":"nested"},{"name":"OwnerRemoved","type":"openzeppelin_account::account::AccountComponent::OwnerRemoved","kind":"nested"}]},{"type":"event","name":"openzeppelin_introspection::src5::SRC5Component::Event","kind":"enum","variants":[]},{"type":"event","name":"openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded","kind":"struct","members":[{"name":"class_hash","type":"core::starknet::class_hash::ClassHash","kind":"data"}]},{"type":"event","name":"openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event","kind":"enum","variants":[{"name":"Upgraded","type":"openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded","kind":"nested"}]},{"type":"event","name":"katana_account::Account::Event","kind":"enum","variants":[{"name":"AccountEvent","type":"openzeppelin_account::account::AccountComponent::Event","kind":"flat"},{"name":"SRC5Event","type":"openzeppelin_introspection::src5::SRC5Component::Event","kind":"flat"},{"name":"UpgradeableEvent","type":"openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event","kind":"flat"}]}]} \ No newline at end of file diff --git a/crates/katana/contracts/build/erc20.json b/crates/katana/contracts/build/erc20.json new file mode 100644 index 0000000000..bb83c9557c --- /dev/null +++ b/crates/katana/contracts/build/erc20.json @@ -0,0 +1,56427 @@ +{ + "abi": [ + { + "members": [ + { + "name": "low", + "offset": 0, + "type": "felt" + }, + { + "name": "high", + "offset": 1, + "type": "felt" + } + ], + "name": "Uint256", + "size": 2, + "type": "struct" + }, + { + "data": [ + { + "name": "from_", + "type": "felt" + }, + { + "name": "to", + "type": "felt" + }, + { + "name": "value", + "type": "Uint256" + } + ], + "keys": [], + "name": "Transfer", + "type": "event" + }, + { + "data": [ + { + "name": "owner", + "type": "felt" + }, + { + "name": "spender", + "type": "felt" + }, + { + "name": "value", + "type": "Uint256" + } + ], + "keys": [], + "name": "Approval", + "type": "event" + }, + { + "inputs": [ + { + "name": "name", + "type": "felt" + }, + { + "name": "symbol", + "type": "felt" + }, + { + "name": "decimals", + "type": "felt" + }, + { + "name": "initial_supply", + "type": "Uint256" + }, + { + "name": "recipient", + "type": "felt" + } + ], + "name": "constructor", + "outputs": [], + "type": "constructor" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "name", + "type": "felt" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "symbol", + "type": "felt" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "totalSupply", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "total_supply", + "outputs": [ + { + "name": "total_supply", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "decimals", + "type": "felt" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "account", + "type": "felt" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "account", + "type": "felt" + } + ], + "name": "balance_of", + "outputs": [ + { + "name": "balance", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "owner", + "type": "felt" + }, + { + "name": "spender", + "type": "felt" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "remaining", + "type": "Uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "recipient", + "type": "felt" + }, + { + "name": "amount", + "type": "Uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "sender", + "type": "felt" + }, + { + "name": "recipient", + "type": "felt" + }, + { + "name": "amount", + "type": "Uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "sender", + "type": "felt" + }, + { + "name": "recipient", + "type": "felt" + }, + { + "name": "amount", + "type": "Uint256" + } + ], + "name": "transfer_from", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "amount", + "type": "Uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "added_value", + "type": "Uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "added_value", + "type": "Uint256" + } + ], + "name": "increase_allowance", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "subtracted_value", + "type": "Uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + }, + { + "inputs": [ + { + "name": "spender", + "type": "felt" + }, + { + "name": "subtracted_value", + "type": "Uint256" + } + ], + "name": "decrease_allowance", + "outputs": [ + { + "name": "success", + "type": "felt" + } + ], + "type": "function" + } + ], + "entry_points_by_type": { + "CONSTRUCTOR": [ + { + "offset": 1040, + "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194" + } + ], + "EXTERNAL": [ + { + "offset": 1379, + "selector": "0x41b033f4a31df8067c24d1e9b550a2ce75fd4a29e1147af9752174f0e6cb20" + }, + { + "offset": 1200, + "selector": "0x4c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9" + }, + { + "offset": 1139, + "selector": "0x80aa9fdbfaf9615e4afc7f5f722e265daca5ccc655360fa5ccacf9c267936d" + }, + { + "offset": 1340, + "selector": "0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e" + }, + { + "offset": 1170, + "selector": "0x1557182e4359a1f0c6301278e8f5b35a776ab58d39892581e357578fb287836" + }, + { + "offset": 1496, + "selector": "0x16cc063b8338363cf388ce7fe1df408bf10f16cd51635d392e21d852fafb683" + }, + { + "offset": 1572, + "selector": "0x1aaf3e6107dd1349c81543ff4221a326814f77dadcc5810807b74f1a49ded4e" + }, + { + "offset": 1534, + "selector": "0x1d13ab0a76d7407b1d5faccd4b3d8a9efe42f3d3c21766431d4fafb30f45bd4" + }, + { + "offset": 1303, + "selector": "0x1e888a1026b19c8c0b57c72d63ed1737106aa10034105b980ba117bd0c29fe1" + }, + { + "offset": 1108, + "selector": "0x216b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4" + }, + { + "offset": 1458, + "selector": "0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c" + }, + { + "offset": 1232, + "selector": "0x2e4263afad30923c891518314c3c95dbe830a16874e8abc5777a9a20b54c76e" + }, + { + "offset": 1267, + "selector": "0x35a73cd311a05d46deda634c5ee045db92f811b4e74bca4437fcb5302b7af33" + }, + { + "offset": 1078, + "selector": "0x361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60" + }, + { + "offset": 1419, + "selector": "0x3704ffe8fba161be0e994951751a5033b1462b918ff785c0a636be718dfdb68" + }, + { + "offset": 1610, + "selector": "0x3b076186c19fe96221e4dfacd40c519f612eae02e0555e4e115a2a6cf2f1c1f" + } + ], + "L1_HANDLER": [] + }, + "program": { + "attributes": [ + { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "end_pc": 326, + "flow_tracking_data": { + "ap_tracking": { + "group": 22, + "offset": 35 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 324, + "value": "SafeUint256: addition overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "end_pc": 349, + "flow_tracking_data": { + "ap_tracking": { + "group": 23, + "offset": 60 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 347, + "value": "SafeUint256: subtraction overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "end_pc": 665, + "flow_tracking_data": { + "ap_tracking": { + "group": 44, + "offset": 41 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 660, + "value": "ERC20: decimals exceed 2^8" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "end_pc": 752, + "flow_tracking_data": { + "ap_tracking": { + "group": 56, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 747, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "end_pc": 772, + "flow_tracking_data": { + "ap_tracking": { + "group": 58, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error", + "start_pc": 767, + "value": "ERC20: added_value is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "end_pc": 786, + "flow_tracking_data": { + "ap_tracking": { + "group": 58, + "offset": 88 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 782, + "value": "ERC20: allowance overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "end_pc": 805, + "flow_tracking_data": { + "ap_tracking": { + "group": 60, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 800, + "value": "ERC20: subtracted_value is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "end_pc": 819, + "flow_tracking_data": { + "ap_tracking": { + "group": 60, + "offset": 88 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 815, + "value": "ERC20: allowance below zero" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "end_pc": 836, + "flow_tracking_data": { + "ap_tracking": { + "group": 62, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 831, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "end_pc": 839, + "flow_tracking_data": { + "ap_tracking": { + "group": 62, + "offset": 6 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 836, + "value": "ERC20: cannot mint to the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "end_pc": 848, + "flow_tracking_data": { + "ap_tracking": { + "group": 62, + "offset": 40 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 844, + "value": "ERC20: mint overflow" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 888, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 883, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 891, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 6 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 888, + "value": "ERC20: cannot transfer from the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 894, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 9 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 891, + "value": "ERC20: cannot transfer to the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "end_pc": 904, + "flow_tracking_data": { + "ap_tracking": { + "group": 63, + "offset": 81 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 900, + "value": "ERC20: transfer amount exceeds balance" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "end_pc": 944, + "flow_tracking_data": { + "ap_tracking": { + "group": 64, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 939, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "end_pc": 947, + "flow_tracking_data": { + "ap_tracking": { + "group": 64, + "offset": 6 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 944, + "value": "ERC20: cannot approve from the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "end_pc": 950, + "flow_tracking_data": { + "ap_tracking": { + "group": 64, + "offset": 9 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 947, + "value": "ERC20: cannot approve to the zero address" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "end_pc": 978, + "flow_tracking_data": { + "ap_tracking": { + "group": 65, + "offset": 4 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 973, + "value": "ERC20: amount is not a valid Uint256" + }, + { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "end_pc": 1012, + "flow_tracking_data": { + "ap_tracking": { + "group": 66, + "offset": 0 + }, + "reference_ids": {} + }, + "name": "error_message", + "start_pc": 1005, + "value": "ERC20: insufficient allowance" + } + ], + "builtins": [ + "pedersen", + "range_check" + ], + "compiler_version": "0.13.2", + "data": [ + "0x40780017fff7fff", + "0x1", + "0x208b7fff7fff7ffe", + "0x400380007ffb7ffc", + "0x400380017ffb7ffd", + "0x482680017ffb8000", + "0x3", + "0x480280027ffb8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x47657443616c6c657241646472657373", + "0x400280007ffd7fff", + "0x482680017ffd8000", + "0x2", + "0x480280017ffd8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffc7fff", + "0x400380017ffc7ffd", + "0x482680017ffc8000", + "0x3", + "0x480280027ffc8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400380017ffb7ffc", + "0x400380027ffb7ffd", + "0x482680017ffb8000", + "0x3", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280007ff97fff", + "0x400380017ff97ffa", + "0x400380027ff97ffb", + "0x400380037ff97ffc", + "0x400380047ff97ffd", + "0x482680017ff98000", + "0x5", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0x4", + "0x400780017fff7ffd", + "0x1", + "0x208b7fff7fff7ffe", + "0x400380007ffc7ffd", + "0x482680017ffc8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x48297ffc80007ffd", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x3ffffffffffffffffffffffffffffff", + "0x480280017ffc8000", + "0x48307fff80007ffe", + "0x400280027ffc7fff", + "0x480280017ffc8000", + "0x484480017fff8000", + "0x100000000000000000000000000000000", + "0x480280007ffc8000", + "0x40317fff7ffe7ffd", + "0x482680017ffc8000", + "0x3", + "0x208b7fff7fff7ffe", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x484480017fff8000", + "0x2aaaaaaaaaaaab05555555555555556", + "0x48307fff7ffd8000", + "0x480280027ffb8000", + "0x480280037ffb8000", + "0x484480017fff8000", + "0x4000000000000088000000000000001", + "0x48307fff7ffd8000", + "0xa0680017fff8000", + "0xe", + "0x480680017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x48287ffc80007fff", + "0x40307ffc7ff87fff", + "0x48297ffd80007ffc", + "0x482680017ffd8000", + "0x1", + "0x48507fff7ffe8000", + "0x40507ff97ff57fff", + "0x482680017ffb8000", + "0x4", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0xc", + "0x480680017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x48287ffd80007fff", + "0x48327fff7ffc8000", + "0x40307ffa7ff67fff", + "0x48527ffe7ffc8000", + "0x40507ff97ff57fff", + "0x482680017ffb8000", + "0x4", + "0x208b7fff7fff7ffe", + "0x40317ffd7ff97ffd", + "0x48297ffc80007ffd", + "0x48527fff7ffc8000", + "0x40507ffb7ff77fff", + "0x40780017fff7fff", + "0x2", + "0x482680017ffb8000", + "0x4", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x20680017fff7fff", + "0x10", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x11000000000000000000000000000000000000000000000101", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc0", + "0x480680017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x48127ffe7fff8000", + "0x48287ffd80007ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffba", + "0x482680017ffd8000", + "0x11000000000000000000000000000000000000000000000101", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x20680017fff7fff", + "0xc", + "0x40780017fff7fff", + "0xa", + "0x480680017fff8000", + "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeff", + "0x480a7ffc7fff8000", + "0x48287ffd80007ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffab", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0xb", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa3", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0xa", + "0x400380007ffc7ffd", + "0x40780017fff7fff", + "0x14", + "0x482680017ffc8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0xe", + "0x484680017ffd8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x482480017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x400280007ffc7fff", + "0x40780017fff7fff", + "0x11", + "0x482680017ffc8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x100000000000000000000000000000000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff90", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x48297ffc80007ffd", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde", + "0x208b7fff7fff7ffe", + "0x400380007ffb7ffc", + "0x400380017ffb7ffd", + "0x482680017ffb8000", + "0x2", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4", + "0x404b800280028002", + "0x404b800380038003", + "0x482a7ffc7ffa8000", + "0x4846800180028000", + "0x100000000000000000000000000000000", + "0x40327fff80007ffe", + "0x482a7ffd7ffb8000", + "0x482880027fff8000", + "0x4846800180038000", + "0x100000000000000000000000000000000", + "0x40327fff80017ffe", + "0x480a7ff97fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x480a80037fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffd80007ffb", + "0x20680017fff7fff", + "0x9", + "0x480a7ff97fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x482680017ffb8000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd3", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", + "0x480680017fff8000", + "0x1", + "0x48127ffd7fff8000", + "0x48307ffd80007ffe", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x480680017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x480a7ffb7fff8000", + "0x48287ffc80007ffd", + "0x48287ffd80007ffd", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbd", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef", + "0x48127ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffad", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffd80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff89", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff85", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff84", + "0x400680017fff7fff", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x0", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff72", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff6e", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff94", + "0x400680017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffae", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9a", + "0x40137fff7fff8000", + "0x480680017fff8000", + "0x99cd8bde557814842a3121e8ddfd433a539b8c9f14bf31ebf108d12e6196e9", + "0x4002800080007fff", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe94", + "0x40137fff7fff8001", + "0x4003800080017ffa", + "0x4003800180017ffb", + "0x4003800280017ffc", + "0x4003800380017ffd", + "0x4826800180018000", + "0x4", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480a80007fff8000", + "0x4828800180007ffc", + "0x480a80017fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea5", + "0x480a7ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe7f", + "0x40137fff7fff8000", + "0x480680017fff8000", + "0x134692b230b9e1ffa39098904722134159652b09c5bc41d88d6698779d228ff", + "0x4002800080007fff", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe79", + "0x40137fff7fff8001", + "0x4003800080017ffa", + "0x4003800180017ffb", + "0x4003800280017ffc", + "0x4003800380017ffd", + "0x4826800180018000", + "0x4", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480a80007fff8000", + "0x4828800180007ffc", + "0x480a80017fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8a", + "0x480a7ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe6b", + "0x48127ffe7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe65", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0xb6ce5410fca59d078ee9b2a4371a9d684c530d697c64fbef0ae6d5e8f0ac72", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", + "0x48127ffe7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1f0d4aa99431d246bac9b8e48c33e888245b15e9678f64f9bdfc8823dc8f979", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2f", + "0x48127ffe7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe29", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe11", + "0x48127ffe7fff8000", + "0x482480017ff78000", + "0x1", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe0c", + "0x48127ffe7fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", + "0x480a7ff97fff8000", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe05", + "0x482480017ff88000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe00", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde2", + "0x480a7ffc7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", + "0x480a7ffa7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdde", + "0x48127ffe7fff8000", + "0x482480017ff78000", + "0x1", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd9", + "0x48127ffe7fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffdc", + "0x480a7ff87fff8000", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd1", + "0x482480017ff88000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdcc", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x3c87bf42ed4f01f11883bf54f43d91d2cbbd5fec26d1df9c74c57ae138800a4", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdae", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdab", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe16", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x480a7ff97fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda6", + "0x48127ffe7fff8000", + "0x482480017ff78000", + "0x1", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", + "0x48127ffe7fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd7", + "0x480a7ff77fff8000", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd98", + "0x482480017ff88000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd93", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1f", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff3a", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0xff", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9d", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffd7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4d", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefe", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff16", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4c", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff28", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff71", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa0", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd42", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xa2", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd33", + "0x48127ffe7fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xeb", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x8d", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd3", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd19", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x48127ff77fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xb1", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbf", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd05", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x48127ff77fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff58", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe26", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x48127f867fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0x92", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9e", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce4", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x48127ff77fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff37", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe1a", + "0x48127f707fff8000", + "0x48127f707fff8000", + "0x48127ffb7fff8000", + "0x48127f257fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0x71", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd7f", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce6", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde8", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb9", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffed5", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdda", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffedd", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf9", + "0x48127ffe7fff8000", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd4b", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcb2", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcaf", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeab", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc5", + "0x48127f707fff8000", + "0x48127f707fff8000", + "0x48127ffb7fff8000", + "0x480a7ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb3", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9c", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea4", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc1", + "0x48127ffe7fff8000", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd13", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc7a", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc77", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffebc", + "0x48127ffd7fff8000", + "0x48127ffe7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbc", + "0x48127ffe7fff8000", + "0x48127fe17fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcf1", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8d", + "0x40137ffe7fff8000", + "0x40137fff7fff8001", + "0x40137ffb7fff8002", + "0x40137ffc7fff8003", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd17", + "0x48127ffd7fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd37", + "0x20680017fff7fff", + "0x13", + "0x48127ffe7fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd59", + "0x480a80027fff8000", + "0x480a80037fff8000", + "0x48127ffb7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffb1", + "0x208b7fff7fff7ffe", + "0x480a80027fff8000", + "0x480a80037fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe84", + "0x480a7ffd7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff33", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x6", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x480280037ffd8000", + "0x480280047ffd8000", + "0x480280057ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", + "0x40780017fff7fff", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe77", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe5f", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe28", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe0f", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x402b7ffd7ffc7ffd", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf6", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x1", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe9", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd3", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x1", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe9", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb6", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffb", + "0x4003800180007ffc", + "0x4826800180008000", + "0x2", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x2", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd98", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd80", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x4", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x480280037ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe4", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd58", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x4", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x480280037ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe4", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd46", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd34", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd0e", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd07", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x4003800080007ffc", + "0x4826800180008000", + "0x1", + "0x480a7ffd7fff8000", + "0x4828800080007ffe", + "0x480a80007fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x3", + "0x402a7ffd7ffc7fff", + "0x480280007ffb8000", + "0x480280017ffb8000", + "0x480280027ffb8000", + "0x480280007ffd8000", + "0x480280017ffd8000", + "0x480280027ffd8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe" + ], + "debug_info": { + "file_contents": { + "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo": "assert [cast(fp + (-4), felt*)] = __calldata_actual_size;\n", + "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo": "let __calldata_arg_subtracted_value = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", + "autogen/starknet/arg_processor/0f412f121f4d99c455cd9caefc2f5203633f41332d4df4e5f8fdc3b70e62b4ba.cairo": "let __calldata_arg_initial_supply = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", + "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo": "let __calldata_arg_spender = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/2670bb539ede27446c75876e41bcf9ef5cab09b9eec143f3986635a545b089ab.cairo": "assert [__calldata_ptr] = to;\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/2a6553d1cb026d6d486f03ea4f3c4e23a17d2c2fada60e20573741cc8edfdb84.cairo": "let __calldata_arg_sender = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/3635b1d7caa543a52376beeb37a143262ea6ffdf923d8e3676d9b27787e943c8.cairo": "assert [__return_value_ptr] = ret_value.symbol;\nlet __return_value_ptr = __return_value_ptr + 1;\n", + "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo": "let __calldata_arg_added_value = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", + "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo": "assert [__return_value_ptr] = ret_value.success;\nlet __return_value_ptr = __return_value_ptr + 1;\n", + "autogen/starknet/arg_processor/6f345e20daf86e05c346aa1f6a9eeaa296a59eb71a12784c017d25ed5b25ff32.cairo": "assert [__return_value_ptr] = ret_value.name;\nlet __return_value_ptr = __return_value_ptr + 1;\n", + "autogen/starknet/arg_processor/7e247556a8b9bc505c1e503bda1dbcb424caa8925f45ae18cdde008e8b84b376.cairo": "assert [__calldata_ptr] = owner;\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo": "// Create a reference to ret_value.remaining as felt*.\nlet __return_value_tmp: felt* = cast(&ret_value.remaining, felt*);\nassert [__return_value_ptr + 0] = [__return_value_tmp + 0];\nassert [__return_value_ptr + 1] = [__return_value_tmp + 1];\nlet __return_value_ptr = __return_value_ptr + 2;\n", + "autogen/starknet/arg_processor/86b8ce991898641b73ad3eb5d907f86c73139c426526138c35901b17a2d6334d.cairo": "assert [__calldata_ptr] = spender;\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/95ae8cb44b0755388c1e634980ee8b2634c31b1a198c799f64c304663bce699a.cairo": "let __calldata_arg_decimals = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo": "// Create a reference to value as felt*.\nlet __calldata_tmp: felt* = cast(&value, felt*);\nassert [__calldata_ptr + 0] = [__calldata_tmp + 0];\nassert [__calldata_ptr + 1] = [__calldata_tmp + 1];\nlet __calldata_ptr = __calldata_ptr + 2;\n", + "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo": "// Create a reference to ret_value.totalSupply as felt*.\nlet __return_value_tmp: felt* = cast(&ret_value.totalSupply, felt*);\nassert [__return_value_ptr + 0] = [__return_value_tmp + 0];\nassert [__return_value_ptr + 1] = [__return_value_tmp + 1];\nlet __return_value_ptr = __return_value_ptr + 2;\n", + "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo": "let __calldata_arg_amount = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", + "autogen/starknet/arg_processor/99058c0781745b3c0332799d723549974cbf489b623dde03906204304de60803.cairo": "let __calldata_arg_symbol = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/a81bcec621a2ff03486299e6a77ac9e0b035697b74f8a9b599dbb1c25229a3e2.cairo": "assert [__return_value_ptr] = ret_value.decimals;\nlet __return_value_ptr = __return_value_ptr + 1;\n", + "autogen/starknet/arg_processor/ad6bf90c88bb84c90b568cfe0e89ce22c3213011f6c9cc8bf0b75066ae521c26.cairo": "assert [__calldata_ptr] = from_;\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo": "let __calldata_actual_size = __calldata_ptr - cast([cast(fp + (-3), felt**)], felt*);\n", + "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo": "let __calldata_arg_recipient = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/e1eb73cd870ec466294c3700e77817cf3c039ac1384882ddb76383eb87a5da90.cairo": "let __calldata_arg_name = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo": "let __calldata_arg_account = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/arg_processor/e66e85dd94d62dfbf181185290e90a52ce04d6dbeeb11db2f4279a8874855e78.cairo": "// Create a reference to ret_value.total_supply as felt*.\nlet __return_value_tmp: felt* = cast(&ret_value.total_supply, felt*);\nassert [__return_value_ptr + 0] = [__return_value_tmp + 0];\nassert [__return_value_ptr + 1] = [__return_value_tmp + 1];\nlet __return_value_ptr = __return_value_ptr + 2;\n", + "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo": "// Create a reference to ret_value.balance as felt*.\nlet __return_value_tmp: felt* = cast(&ret_value.balance, felt*);\nassert [__return_value_ptr + 0] = [__return_value_tmp + 0];\nassert [__return_value_ptr + 1] = [__return_value_tmp + 1];\nlet __return_value_ptr = __return_value_ptr + 2;\n", + "autogen/starknet/arg_processor/f6a4d9ae897caf37cefd18f7c8da7eee73157818279359aadee282f0fe59cdbc.cairo": "let __calldata_arg_owner = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", + "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo": "emit_event(keys_len=1, keys=__keys_ptr, data_len=__calldata_ptr - __data_ptr, data=__data_ptr);\nreturn ();\n", + "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo": "alloc_locals;\nlet (local __keys_ptr: felt*) = alloc();\nassert [__keys_ptr] = SELECTOR;\nlet (local __data_ptr: felt*) = alloc();\nlet __calldata_ptr = __data_ptr;\n", + "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo": "func emit{syscall_ptr: felt*, range_check_ptr}() {\n}\n", + "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo": "emit_event(keys_len=1, keys=__keys_ptr, data_len=__calldata_ptr - __data_ptr, data=__data_ptr);\nreturn ();\n", + "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo": "alloc_locals;\nlet (local __keys_ptr: felt*) = alloc();\nassert [__keys_ptr] = SELECTOR;\nlet (local __data_ptr: felt*) = alloc();\nlet __calldata_ptr = __data_ptr;\n", + "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo": "func emit{syscall_ptr: felt*, range_check_ptr}() {\n}\n", + "autogen/starknet/external/allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(owner=__calldata_arg_owner, spender=__calldata_arg_spender,);\nlet (range_check_ptr, retdata_size, retdata) = allowance_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/approve/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, amount=__calldata_arg_amount,);\nlet (range_check_ptr, retdata_size, retdata) = approve_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/approve/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/approve/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(account=__calldata_arg_account,);\nlet (range_check_ptr, retdata_size, retdata) = balanceOf_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/balanceOf/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/balanceOf/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/balanceOf/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/balance_of/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/balance_of/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(account=__calldata_arg_account,);\nlet (range_check_ptr, retdata_size, retdata) = balance_of_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/balance_of/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/balance_of/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(name=__calldata_arg_name, symbol=__calldata_arg_symbol, decimals=__calldata_arg_decimals, initial_supply=__calldata_arg_initial_supply, recipient=__calldata_arg_recipient,);\n%{ memory[ap] = segments.add() %} // Allocate memory for return value.\ntempvar retdata: felt*;\nlet retdata_size = 0;\n", + "autogen/starknet/external/constructor/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/constructor/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/constructor/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/decimals/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/decimals/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/decimals/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = decimals_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/decreaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/decreaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/decreaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, subtracted_value=__calldata_arg_subtracted_value,);\nlet (range_check_ptr, retdata_size, retdata) = decreaseAllowance_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/decrease_allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/decrease_allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/decrease_allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/decrease_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, subtracted_value=__calldata_arg_subtracted_value,);\nlet (range_check_ptr, retdata_size, retdata) = decrease_allowance_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, added_value=__calldata_arg_added_value,);\nlet (range_check_ptr, retdata_size, retdata) = increaseAllowance_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/increaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/increaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/increaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, added_value=__calldata_arg_added_value,);\nlet (range_check_ptr, retdata_size, retdata) = increase_allowance_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/increase_allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/increase_allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/increase_allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/increase_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = name_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/name/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/name/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/name/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo": "func allowance_encode_return(ret_value: (remaining: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo": "func approve_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo": "func balanceOf_encode_return(ret_value: (balance: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo": "func balance_of_encode_return(ret_value: (balance: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo": "func decimals_encode_return(ret_value: (decimals: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo": "func decreaseAllowance_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo": "func decrease_allowance_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo": "func increaseAllowance_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo": "func increase_allowance_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo": "func name_encode_return(ret_value: (name: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo": "func symbol_encode_return(ret_value: (symbol: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo": "func totalSupply_encode_return(ret_value: (totalSupply: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo": "func total_supply_encode_return(ret_value: (total_supply: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo": "func transfer_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo": "func transferFrom_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo": "func transfer_from_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", + "autogen/starknet/external/symbol/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/symbol/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/symbol/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = symbol_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/totalSupply/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/totalSupply/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/totalSupply/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = totalSupply_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/total_supply/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/total_supply/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = total_supply_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/total_supply/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/total_supply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/transfer/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/transfer/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/transfer/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(recipient=__calldata_arg_recipient, amount=__calldata_arg_amount,);\nlet (range_check_ptr, retdata_size, retdata) = transfer_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(sender=__calldata_arg_sender, recipient=__calldata_arg_recipient, amount=__calldata_arg_amount,);\nlet (range_check_ptr, retdata_size, retdata) = transferFrom_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/transferFrom/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/transferFrom/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/transferFrom/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(sender=__calldata_arg_sender, recipient=__calldata_arg_recipient, amount=__calldata_arg_amount,);\nlet (range_check_ptr, retdata_size, retdata) = transfer_from_encode_return(ret_value, range_check_ptr);\n", + "autogen/starknet/external/transfer_from/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", + "autogen/starknet/external/transfer_from/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", + "autogen/starknet/external/transfer_from/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", + "autogen/starknet/external/transfer_from/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", + "autogen/starknet/storage_var/ERC20_allowances/decl.cairo": "namespace ERC20_allowances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(owner: felt, spender: felt) -> (\n res: felt\n ) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt\n ) -> (remaining: Uint256) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt, value: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", + "autogen/starknet/storage_var/ERC20_allowances/impl.cairo": "namespace ERC20_allowances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(owner: felt, spender: felt) -> (\n res: felt\n ) {\n let res = 1711163456665081073580914249687599371093043615922190105609691201034487595172;\n let (res) = hash2{hash_ptr=pedersen_ptr}(res, cast(&owner, felt*)[0]);\n let (res) = hash2{hash_ptr=pedersen_ptr}(res, cast(&spender, felt*)[0]);\n let (res) = normalize_address(addr=res);\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt\n ) -> (remaining: Uint256) {\n let (storage_addr) = addr(owner, spender);\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n let (__storage_var_temp1) = storage_read(address=storage_addr + 1);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n tempvar __storage_var_temp1: felt = __storage_var_temp1;\n return ([cast(&__storage_var_temp0, Uint256*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt, value: Uint256\n ) {\n let (storage_addr) = addr(owner, spender);\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n storage_write(address=storage_addr + 1, value=[cast(&value, felt) + 1]);\n return ();\n }\n}", + "autogen/starknet/storage_var/ERC20_balances/decl.cairo": "namespace ERC20_balances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (\n balance: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n account: felt, value: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", + "autogen/starknet/storage_var/ERC20_balances/impl.cairo": "namespace ERC20_balances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (res: felt) {\n let res = 1648309034483306940318020057553480881073352647889682838905012914068126451082;\n let (res) = hash2{hash_ptr=pedersen_ptr}(res, cast(&account, felt*)[0]);\n let (res) = normalize_address(addr=res);\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (\n balance: Uint256\n ) {\n let (storage_addr) = addr(account);\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n let (__storage_var_temp1) = storage_read(address=storage_addr + 1);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n tempvar __storage_var_temp1: felt = __storage_var_temp1;\n return ([cast(&__storage_var_temp0, Uint256*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n account: felt, value: Uint256\n ) {\n let (storage_addr) = addr(account);\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n storage_write(address=storage_addr + 1, value=[cast(&value, felt) + 1]);\n return ();\n }\n}", + "autogen/starknet/storage_var/ERC20_decimals/decl.cairo": "namespace ERC20_decimals {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n decimals: felt\n ) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", + "autogen/starknet/storage_var/ERC20_decimals/impl.cairo": "namespace ERC20_decimals {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 877823913686921299048507465990220541161247202424540097559864758276037605753;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n decimals: felt\n ) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n return ([cast(&__storage_var_temp0, felt*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n return ();\n }\n}", + "autogen/starknet/storage_var/ERC20_name/decl.cairo": "namespace ERC20_name {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (name: felt) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", + "autogen/starknet/storage_var/ERC20_name/impl.cairo": "namespace ERC20_name {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 1473120764136009396440970107973971969419251478021578277222806501183556393953;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (name: felt) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n return ([cast(&__storage_var_temp0, felt*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n return ();\n }\n}", + "autogen/starknet/storage_var/ERC20_symbol/decl.cairo": "namespace ERC20_symbol {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (symbol: felt) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", + "autogen/starknet/storage_var/ERC20_symbol/impl.cairo": "namespace ERC20_symbol {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 322990191961554429053868449035526014412279677330895387449703561219527453810;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (symbol: felt) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n return ([cast(&__storage_var_temp0, felt*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n return ();\n }\n}", + "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo": "namespace ERC20_total_supply {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n total_supply: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: Uint256) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", + "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo": "namespace ERC20_total_supply {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 482148859801725464274198147480840119334382080162606228723774290742111978842;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n total_supply: Uint256\n ) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n let (__storage_var_temp1) = storage_read(address=storage_addr + 1);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n tempvar __storage_var_temp1: felt = __storage_var_temp1;\n return ([cast(&__storage_var_temp0, Uint256*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: Uint256) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n storage_write(address=storage_addr + 1, value=[cast(&value, felt) + 1]);\n return ();\n }\n}" + }, + "instruction_locations": { + "0": { + "accessible_scopes": [ + "starkware.cairo.common.alloc", + "starkware.cairo.common.alloc.alloc" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/alloc.cairo" + }, + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 12, + "end_line": 4, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/alloc.cairo" + }, + "start_col": 5, + "start_line": 4 + } + }, + "2": { + "accessible_scopes": [ + "starkware.cairo.common.alloc", + "starkware.cairo.common.alloc.alloc" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 5, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/alloc.cairo" + }, + "start_col": 5, + "start_line": 5 + } + }, + "3": { + "accessible_scopes": [ + "starkware.cairo.common.hash", + "starkware.cairo.common.hash.hash2" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 14, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "start_col": 5, + "start_line": 14 + } + }, + "4": { + "accessible_scopes": [ + "starkware.cairo.common.hash", + "starkware.cairo.common.hash.hash2" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 15, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "start_col": 5, + "start_line": 15 + } + }, + "5": { + "accessible_scopes": [ + "starkware.cairo.common.hash", + "starkware.cairo.common.hash.hash2" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 47, + "end_line": 17, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 13, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "parent_location": [ + { + "end_col": 28, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "start_col": 5, + "start_line": 18 + }, + "While trying to retrieve the implicit argument 'hash_ptr' in:" + ], + "start_col": 12, + "start_line": 13 + }, + "While expanding the reference 'hash_ptr' in:" + ], + "start_col": 20, + "start_line": 17 + } + }, + "7": { + "accessible_scopes": [ + "starkware.cairo.common.hash", + "starkware.cairo.common.hash.hash2" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 16, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "start_col": 20, + "start_line": 18 + }, + "While expanding the reference 'result' in:" + ], + "start_col": 18, + "start_line": 16 + } + }, + "8": { + "accessible_scopes": [ + "starkware.cairo.common.hash", + "starkware.cairo.common.hash.hash2" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 28, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/hash.cairo" + }, + "start_col": 5, + "start_line": 18 + } + }, + "9": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.get_caller_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 90, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 63, + "start_line": 202 + } + }, + "11": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.get_caller_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 92, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 202 + } + }, + "12": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.get_caller_address" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 93, + "end_line": 203, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 203 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 58, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 205 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 23, + "start_line": 204 + } + }, + "14": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.get_caller_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 59, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 28, + "start_line": 205 + } + }, + "15": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.get_caller_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 205 + } + }, + "16": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 354, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 58, + "start_line": 354 + } + }, + "18": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 98, + "end_line": 354, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 354 + } + }, + "19": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 98, + "end_line": 354, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 354 + } + }, + "20": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 87, + "end_line": 355, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 355 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 53, + "end_line": 357, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 358, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 358 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 23, + "start_line": 357 + } + }, + "22": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 358, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 19, + "start_line": 358 + } + }, + "23": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 358, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 358 + } + }, + "24": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 372, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 18, + "start_line": 372 + } + }, + "26": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 373, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 371 + } + }, + "27": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 373, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 371 + } + }, + "28": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 373, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 371 + } + }, + "29": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 88, + "end_line": 374, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 374 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 54, + "end_line": 375, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 370, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 376, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 376 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 370 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 23, + "start_line": 375 + } + }, + "31": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 376, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 376 + } + }, + "32": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 392, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 18, + "start_line": 392 + } + }, + "34": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 393, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 391 + } + }, + "35": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 393, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 391 + } + }, + "36": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 393, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 391 + } + }, + "37": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 393, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 391 + } + }, + "38": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 393, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 391 + } + }, + "39": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 85, + "end_line": 394, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 394 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 51, + "end_line": 395, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 390, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 396 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 17, + "start_line": 390 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 23, + "start_line": 395 + } + }, + "41": { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "start_col": 5, + "start_line": 396 + } + }, + "42": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_not_zero" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 7, + "end_line": 11, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 7 + }, + "n_prefix_newlines": 1 + } + ], + "inst": { + "end_col": 7, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 12 + } + }, + "44": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_not_zero" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 14, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 9, + "start_line": 14 + } + }, + "46": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_not_zero" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 17, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 17 + } + }, + "47": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_nn" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 7, + "end_line": 46, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 42 + }, + "n_prefix_newlines": 1 + } + ], + "inst": { + "end_col": 26, + "end_line": 47, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 47 + } + }, + "48": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 48, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 41, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 49, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 49 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 16, + "start_line": 41 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 48 + } + }, + "50": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 49, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 49 + } + }, + "51": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 53, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 41, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 21, + "end_line": 54, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 54 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 16, + "start_line": 41 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 16, + "start_line": 53 + } + }, + "52": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 54, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 15, + "start_line": 54 + } + }, + "53": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 54, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 54 + } + }, + "55": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 55, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 55 + } + }, + "56": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 7, + "end_line": 106, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 97 + }, + "n_prefix_newlines": 1 + } + ], + "inst": { + "end_col": 50, + "end_line": 108, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 36, + "start_line": 108 + } + }, + "58": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 95, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 108, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 53, + "start_line": 108 + }, + "While expanding the reference 'high' in:" + ], + "start_col": 16, + "start_line": 95 + } + }, + "59": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 57, + "end_line": 108, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 36, + "start_line": 108 + } + }, + "60": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 108, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 108 + } + }, + "61": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 95, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 20, + "start_line": 113 + }, + "While expanding the reference 'high' in:" + ], + "start_col": 16, + "start_line": 95 + } + }, + "62": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 20, + "start_line": 113 + } + }, + "64": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 94, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 35, + "start_line": 113 + }, + "While expanding the reference 'low' in:" + ], + "start_col": 15, + "start_line": 94 + } + }, + "65": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 113 + } + }, + "66": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 115, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 116, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 116 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 89 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 115 + } + }, + "68": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 116, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 116 + } + }, + "69": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 7, + "end_line": 184, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 164 + }, + "n_prefix_newlines": 1 + } + ], + "inst": { + "end_col": 42, + "end_line": 186, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 25, + "start_line": 186 + } + }, + "70": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 66, + "end_line": 186, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 45, + "start_line": 186 + } + }, + "71": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 86, + "end_line": 186, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 45, + "start_line": 186 + } + }, + "73": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 86, + "end_line": 186, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 25, + "start_line": 186 + } + }, + "74": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 24, + "start_line": 187 + } + }, + "75": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 69, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 48, + "start_line": 187 + } + }, + "76": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 89, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 48, + "start_line": 187 + } + }, + "78": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 89, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 24, + "start_line": 187 + } + }, + "79": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 49, + "end_line": 196, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 196 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 42, + "end_line": 197, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 197 + } + }, + "81": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 198, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 23, + "start_line": 198 + } + }, + "83": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 30, + "end_line": 198, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 22, + "start_line": 198 + } + }, + "84": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 198, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 198 + } + }, + "85": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 199, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 24, + "start_line": 199 + } + }, + "86": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 199, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 34, + "start_line": 199 + } + }, + "88": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 199, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 23, + "start_line": 199 + } + }, + "89": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 199, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 199 + } + }, + "90": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 200 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 154 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 188 + } + }, + "92": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 200 + } + }, + "93": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 49, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 204 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 50, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 205 + } + }, + "95": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 23, + "end_line": 206, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 21, + "start_line": 206 + } + }, + "97": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 28, + "end_line": 206, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 20, + "start_line": 206 + } + }, + "98": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 30, + "end_line": 207, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 22, + "start_line": 207 + } + }, + "99": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 207, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 207 + } + }, + "100": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 208, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 23, + "start_line": 208 + } + }, + "101": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 208, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 208 + } + }, + "102": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 209, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 209 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 154 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 188 + } + }, + "104": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 209, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 209 + } + }, + "105": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 31, + "end_line": 213, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 213 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 24, + "end_line": 214, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 214 + } + }, + "106": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 215, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 28, + "start_line": 215 + } + }, + "107": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 215, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 23, + "start_line": 215 + } + }, + "108": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 215, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 215 + } + }, + "109": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 12, + "end_line": 216, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 216 + } + }, + "111": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 217, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 217 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 154 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 188 + } + }, + "113": { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 217, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "start_col": 5, + "start_line": 217 + } + }, + "114": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 13, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 5, + "start_line": 13 + } + }, + "116": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 7, + "end_line": 21, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 5, + "start_line": 14 + }, + "n_prefix_newlines": 1 + } + ], + "inst": { + "end_col": 7, + "end_line": 22, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 5, + "start_line": 22 + } + }, + "118": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 50, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 50 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 89 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 24, + "start_line": 12 + } + }, + "119": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 48, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 50, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 24, + "start_line": 50 + }, + "While expanding the reference 'x' in:" + ], + "start_col": 17, + "start_line": 48 + } + }, + "121": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 50, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 50 + } + }, + "123": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 49, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 51, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 24, + "start_line": 51 + }, + "While expanding the reference 'y' in:" + ], + "start_col": 18, + "start_line": 49 + } + }, + "125": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 50, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 51, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 51 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 89 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 9, + "start_line": 50 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 89 + } + }, + "126": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 28, + "end_line": 49, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 51, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 24, + "start_line": 51 + }, + "While expanding the reference 'y' in:" + ], + "start_col": 17, + "start_line": 49 + } + }, + "127": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 51, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 51 + } + }, + "129": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 52, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 21, + "start_line": 52 + } + }, + "131": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 52, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 52 + } + }, + "132": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 23 + } + }, + "134": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 57, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 24 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 11, + "end_line": 25, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 25 + } + }, + "136": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 30, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 13, + "start_line": 30 + } + }, + "138": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 32, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 28, + "start_line": 32 + } + }, + "140": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 32, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 13, + "start_line": 32 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 89 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 24, + "start_line": 12 + } + }, + "141": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 32, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 28, + "start_line": 32 + } + }, + "142": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 50, + "end_line": 32, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 13, + "start_line": 32 + } + }, + "144": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 11, + "end_line": 25, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 25 + } + }, + "146": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 13, + "start_line": 26 + } + }, + "148": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 28, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 13, + "start_line": 28 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 89 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 24, + "start_line": 12 + } + }, + "149": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 51, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 28, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 28, + "start_line": 28 + }, + "While expanding the reference 'addr' in:" + ], + "start_col": 41, + "start_line": 12 + } + }, + "150": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 28, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 13, + "start_line": 28 + } + }, + "152": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 51, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 34, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 21, + "start_line": 34 + }, + "While expanding the reference 'addr' in:" + ], + "start_col": 41, + "start_line": 12 + } + }, + "153": { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 27, + "end_line": 34, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "start_col": 9, + "start_line": 34 + } + }, + "154": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 84, + "end_line": 19, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 19 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 40, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 20 + } + }, + "156": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 21, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 21 + } + }, + "157": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 22, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 22 + } + }, + "159": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 27, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 24 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 12, + "start_line": 18 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 23 + } + }, + "161": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 12, + "start_line": 24 + } + }, + "163": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 24 + } + }, + "164": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 91, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 27 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 48, + "end_line": 28, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 28 + } + }, + "166": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 29, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 33, + "start_line": 29 + } + }, + "168": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 29, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 32, + "start_line": 29 + } + }, + "170": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 29, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 29 + } + }, + "171": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 30, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 30 + } + }, + "173": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 31, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 27, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 32, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 32 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 12, + "start_line": 18 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 31 + } + }, + "175": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 32, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 12, + "start_line": 32 + } + }, + "177": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 32, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 32 + } + }, + "178": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 27, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 35 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 154 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 12, + "start_line": 18 + } + }, + "179": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 28, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 20, + "start_line": 35 + } + }, + "181": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 30, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 30, + "start_line": 35 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 29, + "start_line": 18 + } + }, + "182": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 35 + } + }, + "184": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 36, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 12, + "start_line": 36 + } + }, + "186": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 36, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 36 + } + }, + "187": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 27, + "end_line": 42, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 27, + "end_line": 18, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 12, + "start_line": 43 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 12, + "start_line": 18 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 12, + "start_line": 42 + } + }, + "188": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 23, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 18, + "start_line": 43 + } + }, + "189": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 12, + "start_line": 43 + } + }, + "191": { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "start_col": 5, + "start_line": 43 + } + }, + "192": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_check" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 30, + "end_line": 28, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 28 + } + }, + "193": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_check" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 29, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 29 + } + }, + "194": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_check" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 30, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 31, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 31 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 27, + "start_line": 30 + } + }, + "196": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_check" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 31, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 31 + } + }, + "197": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 71, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 71 + } + }, + "199": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 7, + "end_line": 80, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 75 + }, + "n_prefix_newlines": 1 + } + ], + "inst": { + "end_col": 46, + "end_line": 82, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 82 + } + }, + "200": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 83, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 83 + } + }, + "201": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 85, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 22, + "start_line": 85 + } + }, + "202": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 85, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 38, + "start_line": 85 + } + }, + "204": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 85, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 85 + } + }, + "205": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 23, + "start_line": 86 + } + }, + "206": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 50, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 23, + "start_line": 86 + } + }, + "207": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 71, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 53, + "start_line": 86 + } + }, + "209": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 86 + } + }, + "210": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 70, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 87, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 87 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 70 + } + }, + "211": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 72, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 22, + "end_line": 87, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 19, + "start_line": 87 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 11, + "start_line": 72 + } + }, + "212": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 72, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 22, + "end_line": 87, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 19, + "start_line": 87 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 11, + "start_line": 72 + } + }, + "213": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 23, + "end_line": 87, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 87 + } + }, + "215": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 72, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 13, + "start_line": 89 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 11, + "start_line": 72 + } + }, + "216": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 72, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 13, + "start_line": 89 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 11, + "start_line": 72 + } + }, + "217": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 74, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 28, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 18, + "start_line": 89 + }, + "While expanding the reference 'carry_high' in:" + ], + "start_col": 11, + "start_line": 74 + } + }, + "218": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 30, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 89 + } + }, + "219": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 173 + } + }, + "220": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 173 + } + }, + "222": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 172, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 27, + "end_line": 42, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 174, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 174 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 12, + "start_line": 42 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 172 + } + }, + "223": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 174, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 23, + "start_line": 174 + } + }, + "225": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 174, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 34, + "start_line": 174 + } + }, + "226": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 174, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 174 + } + }, + "228": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 174, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 174 + } + }, + "229": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 172, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 27, + "end_line": 42, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math_cmp.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 176, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 13, + "start_line": 176 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 12, + "start_line": 42 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 172 + } + }, + "230": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 176, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 19, + "start_line": 176 + } + }, + "232": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 176, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 31, + "start_line": 176 + } + }, + "233": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 176, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 13, + "start_line": 176 + } + }, + "235": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_lt" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 176, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 176 + } + }, + "236": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 172, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 20, + "start_line": 188 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 172 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 187 + } + }, + "237": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 33, + "start_line": 188 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 187 + } + }, + "238": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 33, + "start_line": 188 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 187 + } + }, + "239": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 38, + "start_line": 188 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 187 + } + }, + "240": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 38, + "start_line": 188 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 187 + } + }, + "241": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 20, + "start_line": 188 + } + }, + "243": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 189, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 189 + } + }, + "245": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 172, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 188, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 189, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 189 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 187 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 188 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 172 + } + }, + "246": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 27, + "end_line": 189, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 189 + } + }, + "247": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 189, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 189 + } + }, + "248": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_not" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 324, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 29, + "start_line": 324 + } + }, + "250": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_not" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 324, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 52, + "start_line": 324 + } + }, + "252": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_not" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 323, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 323, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 72, + "end_line": 324, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 324 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 323 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 323 + } + }, + "253": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_not" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 324, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 29, + "start_line": 324 + } + }, + "254": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_not" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 69, + "end_line": 324, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 52, + "start_line": 324 + } + }, + "255": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_not" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 324, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 324 + } + }, + "256": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 329, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 323, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 330, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 21, + "start_line": 330 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 323 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 329 + } + }, + "257": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 329, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 330, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 33, + "start_line": 330 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 35, + "start_line": 329 + } + }, + "258": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 329, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 330, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 33, + "start_line": 330 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 35, + "start_line": 329 + } + }, + "259": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 330, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 21, + "start_line": 330 + } + }, + "261": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 54, + "end_line": 331, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 53, + "start_line": 331 + } + }, + "263": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 331, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 61, + "start_line": 331 + } + }, + "265": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 331, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 20, + "start_line": 331 + } + }, + "267": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 70, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 331, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 329, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 22, + "end_line": 332, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 332 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 329 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 331 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 70 + } + }, + "268": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 331, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 332, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 332 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 10, + "start_line": 331 + } + }, + "269": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 331, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 332, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 332 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 10, + "start_line": 331 + } + }, + "270": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_neg" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 332, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 332 + } + }, + "271": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 387, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 329, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 388, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 19, + "start_line": 388 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 329 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 387 + } + }, + "272": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 57, + "end_line": 387, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 388, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 31, + "start_line": 388 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 47, + "start_line": 387 + } + }, + "273": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 57, + "end_line": 387, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 388, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 31, + "start_line": 388 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 47, + "start_line": 387 + } + }, + "274": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 388, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 19, + "start_line": 388 + } + }, + "276": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 329, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 388, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 70, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 20, + "start_line": 389 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 70 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 19, + "start_line": 388 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 329 + } + }, + "277": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 387, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 32, + "start_line": 389 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 35, + "start_line": 387 + } + }, + "278": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 387, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 32, + "start_line": 389 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 35, + "start_line": 387 + } + }, + "279": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 388, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 35, + "start_line": 389 + }, + "While expanding the reference 'b_neg' in:" + ], + "start_col": 10, + "start_line": 388 + } + }, + "280": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 388, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 35, + "start_line": 389 + }, + "While expanding the reference 'b_neg' in:" + ], + "start_col": 10, + "start_line": 388 + } + }, + "281": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 20, + "start_line": 389 + } + }, + "283": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 70, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 387, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 22, + "end_line": 390, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 390 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 387 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 389 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 70 + } + }, + "284": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 390, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 390 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 10, + "start_line": 389 + } + }, + "285": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 389, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 390, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 390 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 10, + "start_line": 389 + } + }, + "286": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_sub" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 390, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 390 + } + }, + "287": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 397, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 397 + } + }, + "288": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 397, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 397 + } + }, + "290": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 397, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 397 + } + }, + "292": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 398, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 398 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + } + }, + "293": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 398, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 21, + "start_line": 398 + } + }, + "295": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 398, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 398 + } + }, + "296": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 23, + "end_line": 400, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 400 + } + }, + "297": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 400, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 400 + } + }, + "299": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 7, + "end_line": 400, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 400 + } + }, + "301": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 401, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 401 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + } + }, + "302": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 401, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 21, + "start_line": 401 + } + }, + "304": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 401, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 9, + "start_line": 401 + } + }, + "305": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 403, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 403 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + } + }, + "306": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 403, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 17, + "start_line": 403 + } + }, + "308": { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_eq" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 403, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "start_col": 5, + "start_line": 403 + } + }, + "309": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 24 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 14, + "start_line": 23 + } + }, + "310": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 24 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 31, + "start_line": 23 + } + }, + "311": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 24 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 31, + "start_line": 23 + } + }, + "312": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 24 + } + }, + "314": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 53, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 25, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 25 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 43, + "start_line": 23 + } + }, + "315": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 53, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 25, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 25 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 43, + "start_line": 23 + } + }, + "316": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 25, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 25 + } + }, + "318": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 54, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 53, + "start_line": 26 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 31, + "start_line": 23 + } + }, + "319": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 54, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 53, + "start_line": 26 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 31, + "start_line": 23 + } + }, + "320": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 53, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 56, + "start_line": 26 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 43, + "start_line": 23 + } + }, + "321": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 53, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 56, + "start_line": 26 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 43, + "start_line": 23 + } + }, + "322": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 41, + "start_line": 26 + } + }, + "324": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 28, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 13, + "start_line": 28 + } + }, + "326": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 70, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 22, + "end_line": 30, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 30 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 14, + "start_line": 23 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 41, + "start_line": 26 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 70 + } + }, + "327": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 30, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 19, + "start_line": 30 + }, + "While expanding the reference 'c' in:" + ], + "start_col": 14, + "start_line": 26 + } + }, + "328": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 26, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 30, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 19, + "start_line": 30 + }, + "While expanding the reference 'c' in:" + ], + "start_col": 14, + "start_line": 26 + } + }, + "329": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.add" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 30, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 30 + } + }, + "330": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 36, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 36 + } + }, + "332": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 37, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 37 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 35 + } + }, + "333": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 37, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 37 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 35 + } + }, + "334": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 37, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 37 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 35 + } + }, + "335": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 37, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 37 + } + }, + "337": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 38, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 38 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 35 + } + }, + "338": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 38, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 38 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 35 + } + }, + "339": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 38, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 38 + } + }, + "341": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 39, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 34, + "start_line": 39 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 35 + } + }, + "342": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 39, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 34, + "start_line": 39 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 35 + } + }, + "343": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 39, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 37, + "start_line": 39 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 35 + } + }, + "344": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 39, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 37, + "start_line": 39 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 35 + } + }, + "345": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 39, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 23, + "start_line": 39 + } + }, + "347": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 41, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 13, + "start_line": 41 + } + }, + "349": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 187, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 39, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 387, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 28, + "start_line": 43 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 387 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 23, + "start_line": 39 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 187 + } + }, + "350": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 40, + "start_line": 43 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 35 + } + }, + "351": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 40, + "start_line": 43 + }, + "While expanding the reference 'a' in:" + ], + "start_col": 34, + "start_line": 35 + } + }, + "352": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 43, + "start_line": 43 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 35 + } + }, + "353": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 43, + "start_line": 43 + }, + "While expanding the reference 'b' in:" + ], + "start_col": 46, + "start_line": 35 + } + }, + "354": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 43, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 28, + "start_line": 43 + } + }, + "356": { + "accessible_scopes": [ + "openzeppelin.security.safemath.library", + "openzeppelin.security.safemath.library.SafeUint256", + "openzeppelin.security.safemath.library.SafeUint256.sub_le" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 44, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "start_col": 9, + "start_line": 44 + } + }, + "357": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "359": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 33, + "start_line": 2 + } + }, + "361": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "362": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 23, + "start_line": 3 + } + }, + "364": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 3 + } + }, + "365": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 33, + "start_line": 4 + } + }, + "367": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 6, + "start_line": 4 + } + }, + "368": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/ad6bf90c88bb84c90b568cfe0e89ce22c3213011f6c9cc8bf0b75066ae521c26.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 15, + "start_line": 20 + }, + "While handling calldata argument 'from_'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "369": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 30, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/2670bb539ede27446c75876e41bcf9ef5cab09b9eec143f3986635a545b089ab.cairo" + }, + "parent_location": [ + { + "end_col": 30, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 28, + "start_line": 20 + }, + "While handling calldata argument 'to'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "370": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 20 + }, + "While handling calldata argument 'value'" + ], + "start_col": 1, + "start_line": 3 + } + }, + "371": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 20 + }, + "While handling calldata argument 'value'" + ], + "start_col": 1, + "start_line": 4 + } + }, + "372": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 38, + "start_line": 20 + }, + "While handling calldata argument 'value'" + ], + "start_col": 22, + "start_line": 5 + } + }, + "374": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 390, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 95, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 1 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 17, + "start_line": 390 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + } + }, + "375": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 21, + "start_line": 1 + } + }, + "377": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 29, + "start_line": 1 + }, + "While expanding the reference '__keys_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 12, + "start_line": 2 + } + }, + "378": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 77, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 50, + "start_line": 1 + } + }, + "379": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 94, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 84, + "start_line": 1 + }, + "While expanding the reference '__data_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 12, + "start_line": 4 + } + }, + "380": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 95, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "382": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 11, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 2 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + } + }, + "383": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Transfer", + "openzeppelin.token.erc20.library.Transfer.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 11, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 2 + } + }, + "384": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "386": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 33, + "start_line": 2 + } + }, + "388": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "389": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 23, + "start_line": 3 + } + }, + "391": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 3 + } + }, + "392": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 33, + "start_line": 4 + } + }, + "394": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 6, + "start_line": 4 + } + }, + "395": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/7e247556a8b9bc505c1e503bda1dbcb424caa8925f45ae18cdde008e8b84b376.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 15, + "start_line": 24 + }, + "While handling calldata argument 'owner'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "396": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/86b8ce991898641b73ad3eb5d907f86c73139c426526138c35901b17a2d6334d.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 28, + "start_line": 24 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "397": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 43, + "start_line": 24 + }, + "While handling calldata argument 'value'" + ], + "start_col": 1, + "start_line": 3 + } + }, + "398": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 43, + "start_line": 24 + }, + "While handling calldata argument 'value'" + ], + "start_col": 1, + "start_line": 4 + } + }, + "399": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 43, + "start_line": 24 + }, + "While handling calldata argument 'value'" + ], + "start_col": 22, + "start_line": 5 + } + }, + "401": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 390, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 95, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 1 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 17, + "start_line": 390 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + } + }, + "402": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 21, + "start_line": 1 + } + }, + "404": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 29, + "start_line": 1 + }, + "While expanding the reference '__keys_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 12, + "start_line": 2 + } + }, + "405": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 77, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 50, + "start_line": 1 + } + }, + "406": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 94, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 84, + "start_line": 1 + }, + "While expanding the reference '__data_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 12, + "start_line": 4 + } + }, + "407": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 95, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "409": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 11, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 2 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + } + }, + "410": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.Approval", + "openzeppelin.token.erc20.library.Approval.emit" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 11, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 1, + "start_line": 2 + } + }, + "411": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "412": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "413": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 95, + "end_line": 8, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 21, + "start_line": 9 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 19, + "start_line": 8 + } + }, + "415": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + } + }, + "416": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 30, + "start_line": 13 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 12 + } + }, + "417": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 30, + "start_line": 13 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 12 + } + }, + "418": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 30, + "start_line": 13 + } + }, + "420": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 37, + "start_line": 14 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 12 + } + }, + "421": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 58, + "start_line": 14 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 13 + } + }, + "422": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 37, + "start_line": 14 + } + }, + "424": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 31, + "start_line": 16 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 14 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "425": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 32, + "start_line": 17 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 13 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "426": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 35, + "start_line": 18 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 13 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "427": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 45, + "start_line": 19 + }, + "While expanding the reference '__storage_var_temp0' in:" + ], + "start_col": 14, + "start_line": 14 + } + }, + "428": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 20 + } + }, + "429": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 30, + "start_line": 24 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 23 + } + }, + "430": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 30, + "start_line": 24 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 23 + } + }, + "431": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 30, + "start_line": 24 + } + }, + "433": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 370, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 25 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 370 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 23 + } + }, + "434": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 31, + "start_line": 25 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 24 + } + }, + "435": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 55, + "start_line": 25 + } + }, + "436": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 25 + } + }, + "438": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 19 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 24 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "439": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 19 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 24 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "440": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_name", + "openzeppelin.token.erc20.library.ERC20_name.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" + }, + "start_col": 9, + "start_line": 26 + } + }, + "441": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "442": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "443": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 94, + "end_line": 8, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 21, + "start_line": 9 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 19, + "start_line": 8 + } + }, + "445": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + } + }, + "446": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 30, + "start_line": 13 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 12 + } + }, + "447": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 30, + "start_line": 13 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 12 + } + }, + "448": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 30, + "start_line": 13 + } + }, + "450": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 37, + "start_line": 14 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 12 + } + }, + "451": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 58, + "start_line": 14 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 13 + } + }, + "452": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 37, + "start_line": 14 + } + }, + "454": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 31, + "start_line": 16 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 14 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "455": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 32, + "start_line": 17 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 13 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "456": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 35, + "start_line": 18 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 13 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "457": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 45, + "start_line": 19 + }, + "While expanding the reference '__storage_var_temp0' in:" + ], + "start_col": 14, + "start_line": 14 + } + }, + "458": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 20 + } + }, + "459": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 30, + "start_line": 24 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 23 + } + }, + "460": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 30, + "start_line": 24 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 23 + } + }, + "461": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 30, + "start_line": 24 + } + }, + "463": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 370, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 25 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 370 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 23 + } + }, + "464": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 31, + "start_line": 25 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 24 + } + }, + "465": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 55, + "start_line": 25 + } + }, + "466": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 25 + } + }, + "468": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 19 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 24 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "469": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 19 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 24 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "470": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_symbol", + "openzeppelin.token.erc20.library.ERC20_symbol.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" + }, + "start_col": 9, + "start_line": 26 + } + }, + "471": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "472": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "473": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 94, + "end_line": 8, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 21, + "start_line": 9 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 19, + "start_line": 8 + } + }, + "475": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + } + }, + "476": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 30, + "start_line": 15 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 12 + } + }, + "477": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 30, + "start_line": 15 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 12 + } + }, + "478": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 30, + "start_line": 15 + } + }, + "480": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 37, + "start_line": 16 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 12 + } + }, + "481": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 58, + "start_line": 16 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 15 + } + }, + "482": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 37, + "start_line": 16 + } + }, + "484": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 31, + "start_line": 18 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 16 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "485": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 32, + "start_line": 19 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 15 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "486": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 35, + "start_line": 20 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 15 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "487": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 45, + "start_line": 21 + }, + "While expanding the reference '__storage_var_temp0' in:" + ], + "start_col": 14, + "start_line": 16 + } + }, + "488": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 22 + } + }, + "489": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 30, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 25 + } + }, + "490": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 30, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 25 + } + }, + "491": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 30, + "start_line": 26 + } + }, + "493": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 370, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 27 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 370 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 25 + } + }, + "494": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 31, + "start_line": 27 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 26 + } + }, + "495": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 55, + "start_line": 27 + } + }, + "496": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 27 + } + }, + "498": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 28 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 26 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "499": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 28 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 26 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "500": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_decimals", + "openzeppelin.token.erc20.library.ERC20_decimals.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" + }, + "start_col": 9, + "start_line": 28 + } + }, + "501": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "502": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "503": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 94, + "end_line": 8, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 21, + "start_line": 9 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 19, + "start_line": 8 + } + }, + "505": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 9 + } + }, + "506": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 30, + "start_line": 15 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 12 + } + }, + "507": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 30, + "start_line": 15 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 12 + } + }, + "508": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 30, + "start_line": 15 + } + }, + "510": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 37, + "start_line": 16 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 12 + } + }, + "511": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 58, + "start_line": 16 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 15 + } + }, + "512": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 37, + "start_line": 16 + } + }, + "514": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 37, + "start_line": 17 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 16 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "515": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 74, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 58, + "start_line": 17 + } + }, + "517": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 37, + "start_line": 17 + } + }, + "519": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 31, + "start_line": 19 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 17 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "520": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 32, + "start_line": 20 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 15 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "521": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 35, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 15 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "522": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 16, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 45, + "start_line": 22 + }, + "While expanding the reference '__storage_var_temp0' in:" + ], + "start_col": 14, + "start_line": 16 + } + }, + "523": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 45, + "start_line": 23 + }, + "While expanding the reference '__storage_var_temp1' in:" + ], + "start_col": 14, + "start_line": 17 + } + }, + "524": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 24 + } + }, + "525": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 30, + "start_line": 28 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 27 + } + }, + "526": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 30, + "start_line": 28 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 27 + } + }, + "527": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 30, + "start_line": 28 + } + }, + "529": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 370, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 29 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 370 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 27 + } + }, + "530": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 31, + "start_line": 29 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 28 + } + }, + "531": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 55, + "start_line": 29 + } + }, + "532": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 29 + } + }, + "534": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 47, + "end_line": 30, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 31, + "start_line": 30 + } + }, + "536": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 30, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 55, + "start_line": 30 + } + }, + "537": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 30, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 30 + } + }, + "539": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 31, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 31 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 28 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "540": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 31, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 31 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 28 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "541": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_total_supply", + "openzeppelin.token.erc20.library.ERC20_total_supply.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 31, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" + }, + "start_col": 9, + "start_line": 31 + } + }, + "542": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 36, + "start_line": 9 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "543": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 95, + "end_line": 8, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 50, + "start_line": 9 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 19, + "start_line": 8 + } + }, + "545": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 55, + "start_line": 9 + } + }, + "546": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 21, + "start_line": 9 + } + }, + "548": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 21, + "start_line": 10 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 24, + "start_line": 12 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "549": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 47, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 44, + "start_line": 10 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 14, + "start_line": 9 + } + }, + "550": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 21, + "start_line": 10 + } + }, + "552": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 9, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 11 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 9 + } + }, + "553": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 11 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 10 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 24, + "start_line": 12 + } + }, + "554": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 21, + "start_line": 11 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 14, + "start_line": 10 + } + }, + "555": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 11 + } + }, + "556": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 30, + "start_line": 17 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 14 + } + }, + "557": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 30, + "start_line": 17 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 14 + } + }, + "558": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 93, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 35, + "start_line": 17 + }, + "While expanding the reference 'account' in:" + ], + "start_col": 80, + "start_line": 14 + } + }, + "559": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 30, + "start_line": 17 + } + }, + "561": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 37, + "start_line": 18 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 14 + } + }, + "562": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 58, + "start_line": 18 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 17 + } + }, + "563": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 37, + "start_line": 18 + } + }, + "565": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 37, + "start_line": 19 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 18 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "566": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 74, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 58, + "start_line": 19 + } + }, + "568": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 37, + "start_line": 19 + } + }, + "570": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 31, + "start_line": 21 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 19 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "571": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 32, + "start_line": 22 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 17 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "572": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 35, + "start_line": 23 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 17 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "573": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 45, + "start_line": 24 + }, + "While expanding the reference '__storage_var_temp0' in:" + ], + "start_col": 14, + "start_line": 18 + } + }, + "574": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 45, + "start_line": 25 + }, + "While expanding the reference '__storage_var_temp1' in:" + ], + "start_col": 14, + "start_line": 19 + } + }, + "575": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 26 + } + }, + "576": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 30, + "start_line": 32 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 29 + } + }, + "577": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 30, + "start_line": 32 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 29 + } + }, + "578": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 30, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 35, + "start_line": 32 + }, + "While expanding the reference 'account' in:" + ], + "start_col": 9, + "start_line": 30 + } + }, + "579": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 30, + "start_line": 32 + } + }, + "581": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 370, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 33, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 33 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 370 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 29 + } + }, + "582": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 33, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 31, + "start_line": 33 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 32 + } + }, + "583": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 33, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 55, + "start_line": 33 + } + }, + "584": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 33, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 33 + } + }, + "586": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 47, + "end_line": 34, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 31, + "start_line": 34 + } + }, + "588": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 34, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 55, + "start_line": 34 + } + }, + "589": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 34, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 34 + } + }, + "591": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 35 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 32 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "592": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 35 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 32 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "593": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_balances", + "openzeppelin.token.erc20.library.ERC20_balances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" + }, + "start_col": 9, + "start_line": 35 + } + }, + "594": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 36, + "start_line": 11 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "595": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 95, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 50, + "start_line": 11 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 19, + "start_line": 10 + } + }, + "597": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 77, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 55, + "start_line": 11 + } + }, + "598": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 21, + "start_line": 11 + } + }, + "600": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 55, + "start_line": 12 + } + }, + "601": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 21, + "start_line": 12 + } + }, + "603": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 21, + "start_line": 13 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 24, + "start_line": 12 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "604": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 47, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 44, + "start_line": 13 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 14, + "start_line": 12 + } + }, + "605": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 21, + "start_line": 13 + } + }, + "607": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 14 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 12 + } + }, + "608": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 12, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/storage.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 14 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 21, + "start_line": 13 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 24, + "start_line": 12 + } + }, + "609": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 21, + "start_line": 14 + }, + "While expanding the reference 'res' in:" + ], + "start_col": 14, + "start_line": 13 + } + }, + "610": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.addr" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 14, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 14 + } + }, + "611": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 30, + "start_line": 20 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 17 + } + }, + "612": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 30, + "start_line": 20 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 17 + } + }, + "613": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 35, + "start_line": 20 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 18 + } + }, + "614": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 18, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 42, + "start_line": 20 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 18 + } + }, + "615": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 50, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 30, + "start_line": 20 + } + }, + "617": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 17, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 37, + "start_line": 21 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 17 + } + }, + "618": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 58, + "start_line": 21 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 20 + } + }, + "619": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 37, + "start_line": 21 + } + }, + "621": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 37, + "start_line": 22 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 21 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "622": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 74, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 58, + "start_line": 22 + } + }, + "624": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 37, + "start_line": 22 + } + }, + "626": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 352, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 24, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 31, + "start_line": 24 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 37, + "start_line": 22 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 352 + } + }, + "627": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 25, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 32, + "start_line": 25 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 20 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "628": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 20, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 26, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 35, + "start_line": 26 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 20 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "629": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 27, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 45, + "start_line": 27 + }, + "While expanding the reference '__storage_var_temp0' in:" + ], + "start_col": 14, + "start_line": 21 + } + }, + "630": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 22, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 28, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 45, + "start_line": 28 + }, + "While expanding the reference '__storage_var_temp1' in:" + ], + "start_col": 14, + "start_line": 22 + } + }, + "631": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.read" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 29, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 29 + } + }, + "632": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 30, + "start_line": 35 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 32 + } + }, + "633": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 30, + "start_line": 35 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 32 + } + }, + "634": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 33, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 35, + "start_line": 35 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 33 + } + }, + "635": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 33, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 42, + "start_line": 35 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 33 + } + }, + "636": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 50, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 30, + "start_line": 35 + } + }, + "638": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 32, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 370, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 36, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 36 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 370 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 32 + } + }, + "639": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 36, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 31, + "start_line": 36 + }, + "While expanding the reference 'storage_addr' in:" + ], + "start_col": 14, + "start_line": 35 + } + }, + "640": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 36, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 55, + "start_line": 36 + } + }, + "641": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 36, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 36 + } + }, + "643": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 47, + "end_line": 37, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 31, + "start_line": 37 + } + }, + "645": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 37, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 55, + "start_line": 37 + } + }, + "646": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 37, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 37 + } + }, + "648": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 38, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 38 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 23 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 30, + "start_line": 35 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 15, + "start_line": 7 + } + }, + "649": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 7, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 50, + "end_line": 35, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 38, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 38 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 23 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 30, + "start_line": 35 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 43, + "start_line": 7 + } + }, + "650": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20_allowances", + "openzeppelin.token.erc20.library.ERC20_allowances.write" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 38, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" + }, + "start_col": 9, + "start_line": 38 + } + }, + "651": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 60, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 63, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 63 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 19 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 22, + "start_line": 60 + } + }, + "652": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 68, + "end_line": 60, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 63, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 63 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 19 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 42, + "start_line": 60 + } + }, + "653": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 85, + "end_line": 60, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 63, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 63 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 19 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 70, + "start_line": 60 + } + }, + "654": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 61, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 30, + "end_line": 63, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 26, + "start_line": 63 + }, + "While expanding the reference 'name' in:" + ], + "start_col": 9, + "start_line": 61 + } + }, + "655": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 63, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 63 + } + }, + "657": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 61, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 64, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 28, + "start_line": 64 + }, + "While expanding the reference 'symbol' in:" + ], + "start_col": 21, + "start_line": 61 + } + }, + "658": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 64, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 64 + } + }, + "660": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 61, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 66, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 23, + "start_line": 66 + }, + "While expanding the reference 'decimals' in:" + ], + "start_col": 35, + "start_line": 61 + } + }, + "661": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 66, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 33, + "start_line": 66 + } + }, + "663": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 66, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 66 + } + }, + "665": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 64, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 68, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 68 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 21 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 9, + "start_line": 64 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 19 + } + }, + "666": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 19, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 64, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 68, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 68 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 9, + "start_line": 64 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 19 + } + }, + "667": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 53, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/math.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 66, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 68, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 68 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 66 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 16, + "start_line": 53 + } + }, + "668": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 61, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 68, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 30, + "start_line": 68 + }, + "While expanding the reference 'decimals' in:" + ], + "start_col": 35, + "start_line": 61 + } + }, + "669": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 68, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 68 + } + }, + "671": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.initializer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 69, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 69 + } + }, + "672": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 76, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 77, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 77 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 76 + } + }, + "673": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 76, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 77, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 77 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 76 + } + }, + "674": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 76, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 77, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 77 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 13 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 76 + } + }, + "675": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 77, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 77 + } + }, + "677": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 77, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 77 + } + }, + "678": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 80, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 83, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 83 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 17, + "start_line": 80 + } + }, + "679": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 80, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 83, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 83 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 37, + "start_line": 80 + } + }, + "680": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 80, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 83, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 83 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 13 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 65, + "start_line": 80 + } + }, + "681": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 83, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 83 + } + }, + "683": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 83, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 83 + } + }, + "684": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 89 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 23, + "start_line": 86 + } + }, + "685": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 69, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 89 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 43, + "start_line": 86 + } + }, + "686": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 86, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 89 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 13 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 71, + "start_line": 86 + } + }, + "687": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 89 + } + }, + "689": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 89, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 89 + } + }, + "690": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 92, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 95, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 95 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 92 + } + }, + "691": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 65, + "end_line": 92, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 95, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 95 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 92 + } + }, + "692": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 92, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 95, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 95 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 13 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 92 + } + }, + "693": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 95, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 95 + } + }, + "695": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 95, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 95 + } + }, + "696": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 101, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 101 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 21, + "start_line": 98 + } + }, + "697": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 101, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 101 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 41, + "start_line": 98 + } + }, + "698": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 84, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 101, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 101 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 13 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 69, + "start_line": 98 + } + }, + "699": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 99, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 101, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 36, + "start_line": 101 + }, + "While expanding the reference 'account' in:" + ], + "start_col": 9, + "start_line": 99 + } + }, + "700": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 101, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 101 + } + }, + "702": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 101, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 101 + } + }, + "703": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 104, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 107, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 107 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 104 + } + }, + "704": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 66, + "end_line": 104, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 107, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 107 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 40, + "start_line": 104 + } + }, + "705": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 83, + "end_line": 104, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 107, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 107 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 15 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 68, + "start_line": 104 + } + }, + "706": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 105, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 107, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 107 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 105 + } + }, + "707": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 105, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 52, + "end_line": 107, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 45, + "start_line": 107 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 105 + } + }, + "708": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 53, + "end_line": 107, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 16, + "start_line": 107 + } + }, + "710": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 54, + "end_line": 107, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 107 + } + }, + "711": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 110, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 113 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 110 + } + }, + "712": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 113 + } + }, + "714": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 114 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 233 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 113 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + } + }, + "715": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 65, + "end_line": 110, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 66, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 114 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 40, + "start_line": 233 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 110 + } + }, + "716": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 110, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 83, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 114 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 68, + "start_line": 233 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 110 + } + }, + "717": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 113, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 19, + "start_line": 114 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 14, + "start_line": 113 + } + }, + "718": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 111, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 114 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 9, + "start_line": 111 + } + }, + "719": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 111, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 114 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 111 + } + }, + "720": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 111, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 114 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 111 + } + }, + "721": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 114, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 114 + } + }, + "723": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 115, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 25, + "start_line": 115 + } + }, + "725": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 115, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 115 + } + }, + "726": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 121, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 121 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 118 + } + }, + "727": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 121, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 121 + } + }, + "729": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 121, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 122 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 27, + "start_line": 284 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 121 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + } + }, + "730": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 70, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 73, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 122 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 47, + "start_line": 284 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 118 + } + }, + "731": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 87, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 90, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 122 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 75, + "start_line": 284 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 72, + "start_line": 118 + } + }, + "732": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 119, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 26, + "start_line": 122 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 9, + "start_line": 119 + } + }, + "733": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 121, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 34, + "start_line": 122 + }, + "While expanding the reference 'caller' in:" + ], + "start_col": 14, + "start_line": 121 + } + }, + "734": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 119, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 42, + "start_line": 122 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 119 + } + }, + "735": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 119, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 42, + "start_line": 122 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 119 + } + }, + "736": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 122, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 122 + } + }, + "738": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 119, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 123, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 19, + "start_line": 123 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 9, + "start_line": 119 + } + }, + "739": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 119, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 123, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 123 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 23, + "start_line": 119 + } + }, + "740": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 119, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 123, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 123 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 119 + } + }, + "741": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 119, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 123, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 123 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 119 + } + }, + "742": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 123, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 123 + } + }, + "744": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 124, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 25, + "start_line": 124 + } + }, + "746": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 124, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 124 + } + }, + "747": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 81, + "end_line": 127, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 131, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 131 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 66, + "start_line": 127 + } + }, + "748": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 128, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 131, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 131 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 24, + "start_line": 128 + } + }, + "749": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 128, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 131, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 131 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 24, + "start_line": 128 + } + }, + "750": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 131, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 131 + } + }, + "752": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 127, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 134, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 134 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 18, + "start_line": 127 + } + }, + "753": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 134, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 134 + } + }, + "755": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 134, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 135 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 264 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 134 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + } + }, + "756": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 127, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 135 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 264 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 38, + "start_line": 127 + } + }, + "757": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 131, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 135 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 264 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 131 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + } + }, + "758": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 134, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 18, + "start_line": 135 + }, + "While expanding the reference 'caller' in:" + ], + "start_col": 14, + "start_line": 134 + } + }, + "759": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 128, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 26, + "start_line": 135 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 9, + "start_line": 128 + } + }, + "760": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 128, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 135 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 24, + "start_line": 128 + } + }, + "761": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 128, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 135 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 24, + "start_line": 128 + } + }, + "762": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 135, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 135 + } + }, + "764": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 136, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 25, + "start_line": 136 + } + }, + "766": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 136, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 136 + } + }, + "767": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 92, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 143, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 143 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 77, + "start_line": 139 + } + }, + "768": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 140, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 143, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 143 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 24, + "start_line": 140 + } + }, + "769": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 140, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 143, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 143 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 24, + "start_line": 140 + } + }, + "770": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 143, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 143 + } + }, + "772": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 47, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 146, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 146 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 29, + "start_line": 139 + } + }, + "773": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 146, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 146 + } + }, + "775": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 146, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 147 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 146 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + } + }, + "776": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 147 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 49, + "start_line": 139 + } + }, + "777": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 143, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 147 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 15 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 143 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + } + }, + "778": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 146, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 72, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 66, + "start_line": 147 + }, + "While expanding the reference 'caller' in:" + ], + "start_col": 14, + "start_line": 146 + } + }, + "779": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 140, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 74, + "start_line": 147 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 9, + "start_line": 140 + } + }, + "780": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 147 + } + }, + "782": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 140, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 90, + "end_line": 151, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 79, + "start_line": 151 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 24, + "start_line": 140 + } + }, + "783": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 140, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 90, + "end_line": 151, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 79, + "start_line": 151 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 24, + "start_line": 140 + } + }, + "784": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 91, + "end_line": 151, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 151 + } + }, + "786": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 154 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 264 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 44, + "start_line": 147 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + } + }, + "787": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 147, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 154 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 264 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 147 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + } + }, + "788": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 91, + "end_line": 151, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 154 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 264 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 44, + "start_line": 151 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 14, + "start_line": 23 + } + }, + "789": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 146, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 18, + "start_line": 154 + }, + "While expanding the reference 'caller' in:" + ], + "start_col": 14, + "start_line": 146 + } + }, + "790": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 140, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 26, + "start_line": 154 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 9, + "start_line": 140 + } + }, + "791": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 151, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 154 + }, + "While expanding the reference 'new_allowance' in:" + ], + "start_col": 18, + "start_line": 151 + } + }, + "792": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 151, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 154 + }, + "While expanding the reference 'new_allowance' in:" + ], + "start_col": 18, + "start_line": 151 + } + }, + "793": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 154, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 154 + } + }, + "795": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 155, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 25, + "start_line": 155 + } + }, + "797": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 155, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 155 + } + }, + "798": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 161, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 161 + } + }, + "800": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 92, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 163, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 163 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 77, + "start_line": 158 + } + }, + "801": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 159, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 163, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 163 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 24, + "start_line": 159 + } + }, + "802": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 159, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 163, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 163 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 24, + "start_line": 159 + } + }, + "803": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 163, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 163 + } + }, + "805": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 47, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 166, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 166 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 29, + "start_line": 158 + } + }, + "806": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 166, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 24, + "start_line": 166 + } + }, + "808": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 200, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/starknet/common/syscalls.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 166, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 167 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 166 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 200 + } + }, + "809": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 75, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 167 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 49, + "start_line": 158 + } + }, + "810": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 163, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 167 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 15 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 163 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + } + }, + "811": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 166, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 72, + "start_line": 167 + }, + "While expanding the reference 'caller' in:" + ], + "start_col": 14, + "start_line": 166 + } + }, + "812": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 159, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 95, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 88, + "start_line": 167 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 9, + "start_line": 159 + } + }, + "813": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 96, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 167 + } + }, + "815": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 159, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 98, + "end_line": 170, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 82, + "start_line": 170 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 24, + "start_line": 159 + } + }, + "816": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 159, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 98, + "end_line": 170, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 82, + "start_line": 170 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 24, + "start_line": 159 + } + }, + "817": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 99, + "end_line": 170, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 170 + } + }, + "819": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 173 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 264 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 44, + "start_line": 167 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + } + }, + "820": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 167, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 173 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 264 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 167 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + } + }, + "821": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 99, + "end_line": 170, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 173 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 264 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 44, + "start_line": 170 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 35 + } + }, + "822": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 166, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 18, + "start_line": 173 + }, + "While expanding the reference 'caller' in:" + ], + "start_col": 14, + "start_line": 166 + } + }, + "823": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 159, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 26, + "start_line": 173 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 9, + "start_line": 159 + } + }, + "824": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 170, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 173 + }, + "While expanding the reference 'new_allowance' in:" + ], + "start_col": 18, + "start_line": 170 + } + }, + "825": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 170, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 173 + }, + "While expanding the reference 'new_allowance' in:" + ], + "start_col": 18, + "start_line": 170 + } + }, + "826": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 173, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 173 + } + }, + "828": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 174, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 25, + "start_line": 174 + } + }, + "830": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 174, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 174 + } + }, + "831": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 181, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 185, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 185 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 181 + } + }, + "832": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 185, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 185 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "833": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 185, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 185 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "834": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 185, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 185 + } + }, + "836": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 189, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 29, + "start_line": 189 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 9, + "start_line": 182 + } + }, + "837": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 189, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 189 + } + }, + "839": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 181, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 192, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 33, + "start_line": 192 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 181 + } + }, + "840": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 181, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 192, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 33, + "start_line": 192 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 181 + } + }, + "841": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 185, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 192, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 33, + "start_line": 192 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 13 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 185 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + } + }, + "842": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 192, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 33, + "start_line": 192 + } + }, + "844": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 71, + "end_line": 194, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 65, + "start_line": 194 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "845": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 71, + "end_line": 194, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 65, + "start_line": 194 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "846": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 194, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 194 + } + }, + "848": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 192, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 196, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 196 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 21 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 33, + "start_line": 192 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + } + }, + "849": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 192, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 196, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 196 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 33, + "start_line": 192 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + } + }, + "850": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 72, + "end_line": 194, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 196, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 196 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 41, + "start_line": 194 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 14, + "start_line": 23 + } + }, + "851": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 194, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 196, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 34, + "start_line": 196 + }, + "While expanding the reference 'new_supply' in:" + ], + "start_col": 18, + "start_line": 194 + } + }, + "852": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 194, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 196, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 34, + "start_line": 196 + }, + "While expanding the reference 'new_supply' in:" + ], + "start_col": 18, + "start_line": 194 + } + }, + "853": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 196, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 196 + } + }, + "855": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 71, + "end_line": 198, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 62, + "start_line": 198 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 9, + "start_line": 182 + } + }, + "856": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 198, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 34, + "start_line": 198 + } + }, + "858": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 69, + "end_line": 201, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 63, + "start_line": 201 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "859": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 69, + "end_line": 201, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 63, + "start_line": 201 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "860": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 70, + "end_line": 201, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 201 + } + }, + "862": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 72, + "end_line": 198, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 202 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 21 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 34, + "start_line": 198 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + } + }, + "863": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 72, + "end_line": 198, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 202 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 34, + "start_line": 198 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + } + }, + "864": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 201, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 202 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 38, + "start_line": 201 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 14, + "start_line": 23 + } + }, + "865": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 30, + "start_line": 202 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 9, + "start_line": 182 + } + }, + "866": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 201, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 52, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 202 + }, + "While expanding the reference 'new_balance' in:" + ], + "start_col": 14, + "start_line": 201 + } + }, + "867": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 201, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 52, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 202 + }, + "While expanding the reference 'new_balance' in:" + ], + "start_col": 14, + "start_line": 201 + } + }, + "868": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 53, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 202 + } + }, + "870": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 204 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 9, + "start_line": 202 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 21 + } + }, + "871": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 204 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 9, + "start_line": 202 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + } + }, + "872": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 23, + "start_line": 204 + } + }, + "874": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 26, + "start_line": 204 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 9, + "start_line": 182 + } + }, + "875": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 37, + "start_line": 204 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "876": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 41, + "end_line": 182, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 37, + "start_line": 204 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 26, + "start_line": 182 + } + }, + "877": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 204 + } + }, + "879": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 181, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 205 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 181 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 9, + "start_line": 204 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + } + }, + "880": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 53, + "end_line": 202, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 181, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 205 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 181 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 9, + "start_line": 202 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + } + }, + "881": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 204, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 181, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 205 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 181 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 9, + "start_line": 204 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + } + }, + "882": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._mint" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 205, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 205 + } + }, + "883": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 83, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 237, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 237 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 68, + "start_line": 233 + } + }, + "884": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 237, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 237 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "885": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 237, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 237 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "886": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 237, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 237 + } + }, + "888": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 241, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 29, + "start_line": 241 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 9, + "start_line": 234 + } + }, + "889": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 241, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 241 + } + }, + "891": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 245, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 29, + "start_line": 245 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 23, + "start_line": 234 + } + }, + "892": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 39, + "end_line": 245, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 245 + } + }, + "894": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 76, + "end_line": 248, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 248 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 233 + } + }, + "895": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 66, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 76, + "end_line": 248, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 248 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 40, + "start_line": 233 + } + }, + "896": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 237, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 76, + "end_line": 248, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 248 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 13 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 237 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + } + }, + "897": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 248, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 69, + "start_line": 248 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 9, + "start_line": 234 + } + }, + "898": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 76, + "end_line": 248, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 248 + } + }, + "900": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 90, + "end_line": 250, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 84, + "start_line": 250 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "901": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 90, + "end_line": 250, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 84, + "start_line": 250 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "902": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 91, + "end_line": 250, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 49, + "start_line": 250 + } + }, + "904": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 76, + "end_line": 248, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 253, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 253 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 21 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 41, + "start_line": 248 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + } + }, + "905": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 76, + "end_line": 248, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 253, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 253 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 41, + "start_line": 248 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + } + }, + "906": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 91, + "end_line": 250, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 253, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 253 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 49, + "start_line": 250 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 35 + } + }, + "907": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 253, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 30, + "start_line": 253 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 9, + "start_line": 234 + } + }, + "908": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 250, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 56, + "end_line": 253, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 253 + }, + "While expanding the reference 'new_sender_balance' in:" + ], + "start_col": 18, + "start_line": 250 + } + }, + "909": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 250, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 56, + "end_line": 253, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 253 + }, + "While expanding the reference 'new_sender_balance' in:" + ], + "start_col": 18, + "start_line": 250 + } + }, + "910": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 57, + "end_line": 253, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 253 + } + }, + "912": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 256, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 72, + "start_line": 256 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 23, + "start_line": 234 + } + }, + "913": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 256, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 256 + } + }, + "915": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 89, + "end_line": 258, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 83, + "start_line": 258 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "916": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 89, + "end_line": 258, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 83, + "start_line": 258 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "917": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 90, + "end_line": 258, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 48, + "start_line": 258 + } + }, + "919": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 256, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 259 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 21 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 44, + "start_line": 256 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 13 + } + }, + "920": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 13, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 256, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 259 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 256 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 13 + } + }, + "921": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 23, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 90, + "end_line": 258, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 259 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 48, + "start_line": 258 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 14, + "start_line": 23 + } + }, + "922": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 30, + "start_line": 259 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 23, + "start_line": 234 + } + }, + "923": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 258, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 259 + }, + "While expanding the reference 'new_recipient_balance' in:" + ], + "start_col": 14, + "start_line": 258 + } + }, + "924": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 258, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 41, + "start_line": 259 + }, + "While expanding the reference 'new_recipient_balance' in:" + ], + "start_col": 14, + "start_line": 258 + } + }, + "925": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 259 + } + }, + "927": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 260 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 9, + "start_line": 259 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 21 + } + }, + "928": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 260 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 9, + "start_line": 259 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 21 + } + }, + "929": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 23, + "start_line": 260 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 9, + "start_line": 234 + } + }, + "930": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 31, + "start_line": 260 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 23, + "start_line": 234 + } + }, + "931": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 42, + "start_line": 260 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "932": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 234, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 48, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 42, + "start_line": 260 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 40, + "start_line": 234 + } + }, + "933": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 260 + } + }, + "935": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 261, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 261 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 233 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 9, + "start_line": 260 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + } + }, + "936": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 21, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 259, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 66, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 261, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 261 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 40, + "start_line": 233 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 9, + "start_line": 259 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 21 + } + }, + "937": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 20, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 260, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 83, + "end_line": 233, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 261, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 261 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 68, + "start_line": 233 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 9, + "start_line": 260 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 20 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + } + }, + "938": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 261, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 261 + } + }, + "939": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 268, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 268 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 264 + } + }, + "940": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 268, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 268 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 265 + } + }, + "941": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 268, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 268 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 265 + } + }, + "942": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 268, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 268 + } + }, + "944": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 272, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 29, + "start_line": 272 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 265 + } + }, + "945": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 272, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 272 + } + }, + "947": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 276, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 29, + "start_line": 276 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 265 + } + }, + "948": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 276, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 276 + } + }, + "950": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 279 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 23 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 264 + } + }, + "951": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 65, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 279 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 23 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 264 + } + }, + "952": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 268, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 279 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 23 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 268 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + } + }, + "953": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 32, + "start_line": 279 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 265 + } + }, + "954": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 39, + "start_line": 279 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 265 + } + }, + "955": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 54, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 48, + "start_line": 279 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 265 + } + }, + "956": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 54, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 48, + "start_line": 279 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 265 + } + }, + "957": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 279 + } + }, + "959": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 280 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 9, + "start_line": 279 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 23 + } + }, + "960": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 280 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 9, + "start_line": 279 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 23 + } + }, + "961": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 28, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 23, + "start_line": 280 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 265 + } + }, + "962": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 30, + "start_line": 280 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 265 + } + }, + "963": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 39, + "start_line": 280 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 265 + } + }, + "964": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 265, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 39, + "start_line": 280 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 265 + } + }, + "965": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 280 + } + }, + "967": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 281, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 281 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 264 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 9, + "start_line": 280 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 11, + "start_line": 1 + } + }, + "968": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 23, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 279, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 281, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 281 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 264 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 9, + "start_line": 279 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 23 + } + }, + "969": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 24, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 280, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 281, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 281 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 264 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 9, + "start_line": 280 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 24 + }, + "While handling event:" + ], + "start_col": 31, + "start_line": 1 + } + }, + "970": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 281, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 281 + } + }, + "971": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 22, + "end_line": 287, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 287 + } + }, + "973": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 90, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 289, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 289 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 75, + "start_line": 284 + } + }, + "974": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 289, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 289 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 285 + } + }, + "975": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 289, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 27, + "start_line": 289 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 285 + } + }, + "976": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 289, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 289 + } + }, + "978": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 292 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 27, + "start_line": 284 + } + }, + "979": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 73, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 292 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 47, + "start_line": 284 + } + }, + "980": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 27, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 289, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 292 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 15 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 13, + "start_line": 289 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 20, + "start_line": 27 + } + }, + "981": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 71, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 66, + "start_line": 292 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 285 + } + }, + "982": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 73, + "start_line": 292 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 285 + } + }, + "983": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 292 + } + }, + "985": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 14, + "start_line": 292 + }, + "While auto generating local variable for 'current_allowance'." + ], + "start_col": 14, + "start_line": 292 + } + }, + "986": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 14, + "start_line": 292 + }, + "While auto generating local variable for 'current_allowance'." + ], + "start_col": 14, + "start_line": 292 + } + }, + "987": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + }, + "While auto generating local variable for 'syscall_ptr'." + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + } + }, + "988": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + }, + "While auto generating local variable for 'pedersen_ptr'." + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + } + }, + "989": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 323, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 293, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 293 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 323 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 15 + } + }, + "990": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 56, + "end_line": 293, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 55, + "start_line": 293 + } + }, + "992": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 59, + "end_line": 293, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 58, + "start_line": 293 + } + }, + "994": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 293, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 293 + } + }, + "996": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 323, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 293, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 74, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 294 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 35, + "start_line": 293 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 18, + "start_line": 323 + } + }, + "997": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 46, + "start_line": 294 + }, + "While expanding the reference 'current_allowance' in:" + ], + "start_col": 14, + "start_line": 292 + }, + "While auto generating local variable for 'current_allowance'." + ], + "start_col": 14, + "start_line": 292 + } + }, + "998": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 46, + "start_line": 294 + }, + "While expanding the reference 'current_allowance' in:" + ], + "start_col": 14, + "start_line": 292 + }, + "While auto generating local variable for 'current_allowance'." + ], + "start_col": 14, + "start_line": 292 + } + }, + "999": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 293, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 73, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 65, + "start_line": 294 + }, + "While expanding the reference 'infinite' in:" + ], + "start_col": 14, + "start_line": 293 + } + }, + "1000": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 293, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 73, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 65, + "start_line": 294 + }, + "While expanding the reference 'infinite' in:" + ], + "start_col": 14, + "start_line": 293 + } + }, + "1001": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 74, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 35, + "start_line": 294 + } + }, + "1003": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 11, + "end_line": 296, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 296 + } + }, + "1005": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 74, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 93, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 48, + "start_line": 298 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 35 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 35, + "start_line": 294 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + } + }, + "1006": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 84, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 67, + "start_line": 298 + }, + "While expanding the reference 'current_allowance' in:" + ], + "start_col": 14, + "start_line": 292 + }, + "While auto generating local variable for 'current_allowance'." + ], + "start_col": 14, + "start_line": 292 + } + }, + "1007": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 84, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 67, + "start_line": 298 + }, + "While expanding the reference 'current_allowance' in:" + ], + "start_col": 14, + "start_line": 292 + }, + "While auto generating local variable for 'current_allowance'." + ], + "start_col": 14, + "start_line": 292 + } + }, + "1008": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 86, + "start_line": 298 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 285 + } + }, + "1009": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 86, + "start_line": 298 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 37, + "start_line": 285 + } + }, + "1010": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 93, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 48, + "start_line": 298 + } + }, + "1012": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 52, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 301 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 264 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + }, + "While auto generating local variable for 'syscall_ptr'." + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + } + }, + "1013": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 52, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 301 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 264 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + }, + "While auto generating local variable for 'pedersen_ptr'." + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + } + }, + "1014": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 35, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/security/safemath/library.cairo" + }, + "parent_location": [ + { + "end_col": 93, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 264, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 52, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 301 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 264 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 48, + "start_line": 298 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 35 + } + }, + "1015": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 27, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 22, + "start_line": 301 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 9, + "start_line": 285 + } + }, + "1016": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 285, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 29, + "start_line": 301 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 22, + "start_line": 285 + } + }, + "1017": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 301 + }, + "While expanding the reference 'new_allowance' in:" + ], + "start_col": 22, + "start_line": 298 + } + }, + "1018": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 298, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 38, + "start_line": 301 + }, + "While expanding the reference 'new_allowance' in:" + ], + "start_col": 22, + "start_line": 298 + } + }, + "1019": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 52, + "end_line": 301, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 301 + } + }, + "1021": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 23, + "end_line": 302, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 13, + "start_line": 302 + } + }, + "1022": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 304, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 304 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 27, + "start_line": 284 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + }, + "While auto generating local variable for 'syscall_ptr'." + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 15 + } + }, + "1023": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 15, + "input_file": { + "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 292, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 73, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 304, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 304 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 47, + "start_line": 284 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + }, + "While auto generating local variable for 'pedersen_ptr'." + ], + "start_col": 44, + "start_line": 292 + }, + "While trying to update the implicit return value 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 15 + } + }, + "1024": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 396, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/starkware/cairo/common/uint256.cairo" + }, + "parent_location": [ + { + "end_col": 74, + "end_line": 294, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 90, + "end_line": 284, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 304, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 304 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 75, + "start_line": 284 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 35, + "start_line": 294 + }, + "While trying to update the implicit return value 'range_check_ptr' in:" + ], + "start_col": 17, + "start_line": 396 + } + }, + "1025": { + "accessible_scopes": [ + "openzeppelin.token.erc20.library", + "openzeppelin.token.erc20.library.ERC20", + "openzeppelin.token.erc20.library.ERC20._spend_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 304, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "start_col": 9, + "start_line": 304 + } + }, + "1026": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 60, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 15, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 15 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 22, + "start_line": 60 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 18, + "start_line": 12 + } + }, + "1027": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 68, + "end_line": 60, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 15, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 15 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 42, + "start_line": 60 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 38, + "start_line": 12 + } + }, + "1028": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 81, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 85, + "end_line": 60, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 46, + "end_line": 15, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 15 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 70, + "start_line": 60 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 66, + "start_line": 12 + } + }, + "1029": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 27, + "end_line": 15, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 23, + "start_line": 15 + }, + "While expanding the reference 'name' in:" + ], + "start_col": 5, + "start_line": 13 + } + }, + "1030": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 15, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 29, + "start_line": 15 + }, + "While expanding the reference 'symbol' in:" + ], + "start_col": 17, + "start_line": 13 + } + }, + "1031": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 15, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 37, + "start_line": 15 + }, + "While expanding the reference 'decimals' in:" + ], + "start_col": 31, + "start_line": 13 + } + }, + "1032": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 15, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 15 + } + }, + "1034": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 87, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 16, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 17, + "start_line": 16 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 72, + "start_line": 13 + } + }, + "1035": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 70, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 16, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 28, + "start_line": 16 + }, + "While expanding the reference 'initial_supply' in:" + ], + "start_col": 47, + "start_line": 13 + } + }, + "1036": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 70, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 16, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 28, + "start_line": 16 + }, + "While expanding the reference 'initial_supply' in:" + ], + "start_col": 47, + "start_line": 13 + } + }, + "1037": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 16, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 16 + } + }, + "1039": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 17, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 17 + } + }, + "1040": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" + }, + "parent_location": [ + { + "end_col": 87, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 12 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 72, + "start_line": 13 + }, + "While handling calldata argument 'recipient'" + ], + "start_col": 22, + "start_line": 2 + } + }, + "1042": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1043": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 18, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1044": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 38, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1045": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 66, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1046": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/e1eb73cd870ec466294c3700e77817cf3c039ac1384882ddb76383eb87a5da90.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 141, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 122, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_name' in:" + ], + "start_col": 5, + "start_line": 13 + }, + "While handling calldata argument 'name'" + ], + "start_col": 27, + "start_line": 1 + } + }, + "1047": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/99058c0781745b3c0332799d723549974cbf489b623dde03906204304de60803.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 171, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 150, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_symbol' in:" + ], + "start_col": 17, + "start_line": 13 + }, + "While handling calldata argument 'symbol'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1048": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 47, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/95ae8cb44b0755388c1e634980ee8b2634c31b1a198c799f64c304663bce699a.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 205, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 182, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_decimals' in:" + ], + "start_col": 31, + "start_line": 13 + }, + "While handling calldata argument 'decimals'" + ], + "start_col": 31, + "start_line": 1 + } + }, + "1049": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/0f412f121f4d99c455cd9caefc2f5203633f41332d4df4e5f8fdc3b70e62b4ba.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 251, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 222, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_initial_supply' in:" + ], + "start_col": 47, + "start_line": 13 + }, + "While handling calldata argument 'initial_supply'" + ], + "start_col": 37, + "start_line": 1 + } + }, + "1050": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/0f412f121f4d99c455cd9caefc2f5203633f41332d4df4e5f8fdc3b70e62b4ba.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 251, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 222, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_initial_supply' in:" + ], + "start_col": 47, + "start_line": 13 + }, + "While handling calldata argument 'initial_supply'" + ], + "start_col": 37, + "start_line": 1 + } + }, + "1051": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" + }, + "parent_location": [ + { + "end_col": 87, + "end_line": 13, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 287, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 263, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_recipient' in:" + ], + "start_col": 72, + "start_line": 13 + }, + "While handling calldata argument 'recipient'" + ], + "start_col": 32, + "start_line": 1 + } + }, + "1052": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + } + }, + "1054": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 34, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 2 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 24, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 3 + } + }, + "1056": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1057": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1058": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1059": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 4 + } + }, + "1061": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 16, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 3 + } + }, + "1062": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 12, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 12 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1063": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 76, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 26, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 76 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 11, + "start_line": 25 + } + }, + "1064": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 57, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 76, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 26, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 76 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 31, + "start_line": 25 + } + }, + "1065": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 74, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 76, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 26, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 26 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 76 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 59, + "start_line": 25 + } + }, + "1066": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 26, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 26 + } + }, + "1068": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 25, + "end_line": 26, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 26 + } + }, + "1069": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1071": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/6f345e20daf86e05c346aa1f6a9eeaa296a59eb71a12784c017d25ed5b25ff32.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 82, + "start_line": 25 + }, + "While handling return value 'name'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1072": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/6f345e20daf86e05c346aa1f6a9eeaa296a59eb71a12784c017d25ed5b25ff32.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 82, + "start_line": 25 + }, + "While handling return value 'name'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1074": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 65, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 50, + "start_line": 1 + } + }, + "1075": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1076": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1077": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1078": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1079": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 29, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 11, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1080": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 31, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1081": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 74, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 59, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1082": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + } + }, + "1084": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 93, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 78, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1085": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 94, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1087": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1088": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1089": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1090": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1091": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1092": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 10, + "end_line": 25, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 25 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1093": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 80, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 31, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 31 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 17, + "start_line": 80 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 13, + "start_line": 30 + } + }, + "1094": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 59, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 80, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 31, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 31 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 37, + "start_line": 80 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 33, + "start_line": 30 + } + }, + "1095": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 76, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 80, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 31, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 31 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 65, + "start_line": 80 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 61, + "start_line": 30 + } + }, + "1096": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 26, + "end_line": 31, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 31 + } + }, + "1098": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 27, + "end_line": 31, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 31 + } + }, + "1099": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1101": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/3635b1d7caa543a52376beeb37a143262ea6ffdf923d8e3676d9b27787e943c8.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 84, + "start_line": 30 + }, + "While handling return value 'symbol'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1102": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/3635b1d7caa543a52376beeb37a143262ea6ffdf923d8e3676d9b27787e943c8.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 84, + "start_line": 30 + }, + "While handling return value 'symbol'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1104": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 69, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 54, + "start_line": 1 + } + }, + "1105": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1106": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1107": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1108": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1109": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 13, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1110": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 59, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 33, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1111": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 76, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 61, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1112": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + } + }, + "1114": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 95, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 80, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1115": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 96, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1117": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1118": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1119": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1120": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1121": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1122": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 12, + "end_line": 30, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 30 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1123": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 36, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 54, + "end_line": 38, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 34, + "start_line": 38 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 23, + "start_line": 86 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 18, + "start_line": 35 + } + }, + "1124": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 69, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 54, + "end_line": 38, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 34, + "start_line": 38 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 43, + "start_line": 86 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 38, + "start_line": 35 + } + }, + "1125": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 81, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 86, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 54, + "end_line": 38, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 34, + "start_line": 38 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 71, + "start_line": 86 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 66, + "start_line": 35 + } + }, + "1126": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 54, + "end_line": 38, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 34, + "start_line": 38 + } + }, + "1128": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 39, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 39 + } + }, + "1129": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1131": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 36, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 36 + }, + "While handling return value 'totalSupply'" + ], + "start_col": 1, + "start_line": 3 + } + }, + "1132": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 36, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 36 + }, + "While handling return value 'totalSupply'" + ], + "start_col": 1, + "start_line": 4 + } + }, + "1133": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 36, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 5, + "start_line": 36 + }, + "While handling return value 'totalSupply'" + ], + "start_col": 26, + "start_line": 5 + } + }, + "1135": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 113, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 98, + "start_line": 1 + } + }, + "1136": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1137": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1138": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1139": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1140": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 18, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1141": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 38, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1142": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 66, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1143": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + } + }, + "1145": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 100, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 85, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1146": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 101, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1148": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1149": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1150": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1151": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1152": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1153": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 35, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 35 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1154": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 46, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 46 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 23, + "start_line": 86 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 43 + } + }, + "1155": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 65, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 69, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 46, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 46 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 43, + "start_line": 86 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 43 + } + }, + "1156": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 86, + "end_line": 86, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 46, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 46 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 71, + "start_line": 86 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 43 + } + }, + "1157": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 46, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 46 + } + }, + "1159": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 46, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 46 + } + }, + "1160": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1162": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/e66e85dd94d62dfbf181185290e90a52ce04d6dbeeb11db2f4279a8874855e78.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 44, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 44 + }, + "While handling return value 'total_supply'" + ], + "start_col": 1, + "start_line": 3 + } + }, + "1163": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/arg_processor/e66e85dd94d62dfbf181185290e90a52ce04d6dbeeb11db2f4279a8874855e78.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 44, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 44 + }, + "While handling return value 'total_supply'" + ], + "start_col": 1, + "start_line": 4 + } + }, + "1164": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/arg_processor/e66e85dd94d62dfbf181185290e90a52ce04d6dbeeb11db2f4279a8874855e78.cairo" + }, + "parent_location": [ + { + "end_col": 26, + "end_line": 44, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 5, + "start_line": 44 + }, + "While handling return value 'total_supply'" + ], + "start_col": 26, + "start_line": 5 + } + }, + "1166": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1167": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1168": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1169": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/total_supply/f851b9c18e3c6d73382ea35241fc9129a6666a98df286345397d107af556e069.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1170": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1171": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1172": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1173": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1174": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + } + }, + "1176": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 101, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 86, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1177": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 102, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1179": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1180": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1181": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1182": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1183": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/total_supply/a3b40da1606f211f2fcaa69f1db0b3e3873aea25b460206662e4ea98844a4405.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1184": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/total_supply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 43, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 43 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1185": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 92, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 28, + "end_line": 53, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 53 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 92 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 50 + } + }, + "1186": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 92, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 28, + "end_line": 53, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 53 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 92 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 50 + } + }, + "1187": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 92, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 28, + "end_line": 53, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 53 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 92 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 50 + } + }, + "1188": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 28, + "end_line": 53, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 53 + } + }, + "1190": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 29, + "end_line": 53, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 53 + } + }, + "1191": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1193": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 50, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/a81bcec621a2ff03486299e6a77ac9e0b035697b74f8a9b599dbb1c25229a3e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 51, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 51 + }, + "While handling return value 'decimals'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1194": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/a81bcec621a2ff03486299e6a77ac9e0b035697b74f8a9b599dbb1c25229a3e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 51, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 5, + "start_line": 51 + }, + "While handling return value 'decimals'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1196": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 73, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 58, + "start_line": 1 + } + }, + "1197": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1198": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1199": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1200": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1201": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1202": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1203": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1204": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + } + }, + "1206": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 97, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 82, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1207": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 98, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1209": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1210": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1211": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1212": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1213": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1214": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 50, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 50 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1215": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 60, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 60 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 21, + "start_line": 98 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 57 + } + }, + "1216": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 67, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 60, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 60 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 41, + "start_line": 98 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 57 + } + }, + "1217": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 84, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 60, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 60 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 69, + "start_line": 98 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 57 + } + }, + "1218": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 94, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 60, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 29, + "start_line": 60 + }, + "While expanding the reference 'account' in:" + ], + "start_col": 81, + "start_line": 57 + } + }, + "1219": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 60, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 60 + } + }, + "1221": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 60, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 60 + } + }, + "1222": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1224": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" + }, + "parent_location": [ + { + "end_col": 21, + "end_line": 58, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 58 + }, + "While handling return value 'balance'" + ], + "start_col": 1, + "start_line": 3 + } + }, + "1225": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" + }, + "parent_location": [ + { + "end_col": 21, + "end_line": 58, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 58 + }, + "While handling return value 'balance'" + ], + "start_col": 1, + "start_line": 4 + } + }, + "1226": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" + }, + "parent_location": [ + { + "end_col": 21, + "end_line": 58, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 5, + "start_line": 58 + }, + "While handling return value 'balance'" + ], + "start_col": 26, + "start_line": 5 + } + }, + "1228": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 107, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 92, + "start_line": 1 + } + }, + "1229": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1230": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1231": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1232": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo" + }, + "parent_location": [ + { + "end_col": 94, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 81, + "start_line": 57 + }, + "While handling calldata argument 'account'" + ], + "start_col": 22, + "start_line": 2 + } + }, + "1234": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1235": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1236": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1237": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1238": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo" + }, + "parent_location": [ + { + "end_col": 94, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 147, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 125, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_account' in:" + ], + "start_col": 81, + "start_line": 57 + }, + "While handling calldata argument 'account'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1239": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + } + }, + "1241": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 98, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 83, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1242": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 99, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1244": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1245": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1246": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1247": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1248": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1249": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 57, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 57 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1250": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 39, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 67, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 67 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 21, + "start_line": 98 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 17, + "start_line": 64 + } + }, + "1251": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 67, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 67, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 67 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 41, + "start_line": 98 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 37, + "start_line": 64 + } + }, + "1252": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 80, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 84, + "end_line": 98, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 67, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 67 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 69, + "start_line": 98 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 65, + "start_line": 64 + } + }, + "1253": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 95, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 67, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 29, + "start_line": 67 + }, + "While expanding the reference 'account' in:" + ], + "start_col": 82, + "start_line": 64 + } + }, + "1254": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 67, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 67 + } + }, + "1256": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 67, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 67 + } + }, + "1257": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1259": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" + }, + "parent_location": [ + { + "end_col": 21, + "end_line": 65, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 65 + }, + "While handling return value 'balance'" + ], + "start_col": 1, + "start_line": 3 + } + }, + "1260": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" + }, + "parent_location": [ + { + "end_col": 21, + "end_line": 65, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 65 + }, + "While handling return value 'balance'" + ], + "start_col": 1, + "start_line": 4 + } + }, + "1261": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" + }, + "parent_location": [ + { + "end_col": 21, + "end_line": 65, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 5, + "start_line": 65 + }, + "While handling return value 'balance'" + ], + "start_col": 26, + "start_line": 5 + } + }, + "1263": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 108, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 93, + "start_line": 1 + } + }, + "1264": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1265": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1266": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/balance_of/fb1afd770397cb803b46098f3960e6b9b893f2a8947029ce8aa9cff89de94fec.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1267": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo" + }, + "parent_location": [ + { + "end_col": 95, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 82, + "start_line": 64 + }, + "While handling calldata argument 'account'" + ], + "start_col": 22, + "start_line": 2 + } + }, + "1269": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1270": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 17, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1271": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 37, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1272": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 80, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 65, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1273": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo" + }, + "parent_location": [ + { + "end_col": 95, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 147, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 125, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_account' in:" + ], + "start_col": 82, + "start_line": 64 + }, + "While handling calldata argument 'account'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1274": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + } + }, + "1276": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 99, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 84, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1277": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 100, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1279": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1280": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1281": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1282": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1283": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/balance_of/a766796c57bdb51f0d9ec23265cfa9123a98302e29764ffc8e653f52f775fd42.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1284": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/balance_of/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 64, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 64 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1285": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 104, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 74, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 74 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 104 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 71 + } + }, + "1286": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 62, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 66, + "end_line": 104, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 74, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 74 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 40, + "start_line": 104 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 71 + } + }, + "1287": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 79, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 83, + "end_line": 104, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 74, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 74 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 68, + "start_line": 104 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 71 + } + }, + "1288": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 16, + "end_line": 72, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 74, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 28, + "start_line": 74 + }, + "While expanding the reference 'owner' in:" + ], + "start_col": 5, + "start_line": 72 + } + }, + "1289": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 31, + "end_line": 72, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 74, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 35, + "start_line": 74 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 18, + "start_line": 72 + } + }, + "1290": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 74, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 74 + } + }, + "1292": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 74, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 74 + } + }, + "1293": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1295": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 73, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 73 + }, + "While handling return value 'remaining'" + ], + "start_col": 1, + "start_line": 3 + } + }, + "1296": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 73, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 73 + }, + "While handling return value 'remaining'" + ], + "start_col": 1, + "start_line": 4 + } + }, + "1297": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo" + }, + "parent_location": [ + { + "end_col": 25, + "end_line": 73, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 73 + }, + "While handling return value 'remaining'" + ], + "start_col": 26, + "start_line": 5 + } + }, + "1299": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 109, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 94, + "start_line": 1 + } + }, + "1300": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1301": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1302": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1303": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 72, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 18, + "start_line": 72 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 22, + "start_line": 2 + } + }, + "1305": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1306": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 16, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1307": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 36, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1308": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 79, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 64, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1309": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/f6a4d9ae897caf37cefd18f7c8da7eee73157818279359aadee282f0fe59cdbc.cairo" + }, + "parent_location": [ + { + "end_col": 16, + "end_line": 72, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 143, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 123, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_owner' in:" + ], + "start_col": 5, + "start_line": 72 + }, + "While handling calldata argument 'owner'" + ], + "start_col": 28, + "start_line": 1 + } + }, + "1310": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" + }, + "parent_location": [ + { + "end_col": 31, + "end_line": 72, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 175, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 153, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_spender' in:" + ], + "start_col": 18, + "start_line": 72 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1311": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + } + }, + "1313": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 98, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 83, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1314": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 99, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1316": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1317": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1318": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1319": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1320": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1321": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 15, + "end_line": 71, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 71 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1322": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 33, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 110, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 86 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 110 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 83 + } + }, + "1323": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 61, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 110, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 86 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 110 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 83 + } + }, + "1324": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 78, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 110, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 86 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 110 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 83 + } + }, + "1325": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 20, + "end_line": 84, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 27, + "start_line": 86 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 5, + "start_line": 84 + } + }, + "1326": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 84, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 38, + "start_line": 86 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 22, + "start_line": 84 + } + }, + "1327": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 84, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 38, + "start_line": 86 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 22, + "start_line": 84 + } + }, + "1328": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 86 + } + }, + "1330": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 86, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 86 + } + }, + "1331": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1333": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 85, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 85 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1334": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 85, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 85 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1336": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 57, + "start_line": 1 + } + }, + "1337": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1338": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1339": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1340": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 84, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 22, + "start_line": 84 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1342": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1343": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 15, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1344": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 61, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 35, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1345": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 78, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 63, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1346": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 84, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 151, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 127, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_recipient' in:" + ], + "start_col": 5, + "start_line": 84 + }, + "While handling calldata argument 'recipient'" + ], + "start_col": 32, + "start_line": 1 + } + }, + "1347": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 84, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 181, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 160, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 22, + "start_line": 84 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1348": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 84, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 181, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 160, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 22, + "start_line": 84 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1349": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + } + }, + "1351": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 97, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 82, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1352": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 98, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1354": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1355": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1356": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1357": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1358": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1359": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 14, + "end_line": 83, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 83 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1360": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 37, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 93 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 118 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 90 + } + }, + "1361": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 65, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 93 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 118 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 90 + } + }, + "1362": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 87, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 93 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 72, + "start_line": 118 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 90 + } + }, + "1363": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 32, + "start_line": 93 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 5, + "start_line": 91 + } + }, + "1364": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 40, + "start_line": 93 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 19, + "start_line": 91 + } + }, + "1365": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 51, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 51, + "start_line": 93 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 36, + "start_line": 91 + } + }, + "1366": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 51, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 51, + "start_line": 93 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 36, + "start_line": 91 + } + }, + "1367": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 93 + } + }, + "1369": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 59, + "end_line": 93, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 93 + } + }, + "1370": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1372": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 92, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 92 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1373": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 92, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 92 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1375": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 76, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 61, + "start_line": 1 + } + }, + "1376": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1377": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1378": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1379": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 36, + "start_line": 91 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1381": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1382": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 37, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 19, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1383": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 65, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 39, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1384": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 67, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1385": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/2a6553d1cb026d6d486f03ea4f3c4e23a17d2c2fada60e20573741cc8edfdb84.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 145, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 124, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_sender' in:" + ], + "start_col": 5, + "start_line": 91 + }, + "While handling calldata argument 'sender'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1386": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 181, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 157, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_recipient' in:" + ], + "start_col": 19, + "start_line": 91 + }, + "While handling calldata argument 'recipient'" + ], + "start_col": 32, + "start_line": 1 + } + }, + "1387": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 211, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 190, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 36, + "start_line": 91 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1388": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 91, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 211, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 190, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 36, + "start_line": 91 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1389": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + } + }, + "1391": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 101, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 86, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1392": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 102, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1394": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1395": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1396": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1397": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1398": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1399": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 90, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 90 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1400": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 38, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 100 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 118 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 97 + } + }, + "1401": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 66, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 100 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 118 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 40, + "start_line": 97 + } + }, + "1402": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 83, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 87, + "end_line": 118, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 100 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 72, + "start_line": 118 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 68, + "start_line": 97 + } + }, + "1403": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 17, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 32, + "start_line": 100 + }, + "While expanding the reference 'sender' in:" + ], + "start_col": 5, + "start_line": 98 + } + }, + "1404": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 34, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 40, + "start_line": 100 + }, + "While expanding the reference 'recipient' in:" + ], + "start_col": 19, + "start_line": 98 + } + }, + "1405": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 51, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 51, + "start_line": 100 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 36, + "start_line": 98 + } + }, + "1406": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 51, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 51, + "start_line": 100 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 36, + "start_line": 98 + } + }, + "1407": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 100 + } + }, + "1409": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 59, + "end_line": 100, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 100 + } + }, + "1410": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1412": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 99, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 99 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1413": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 99, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 99 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1415": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 77, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 62, + "start_line": 1 + } + }, + "1416": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1417": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1418": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/transfer_from/b6f0ee15d7b5e235099ad6d2f985780643bbe6d63e8668582f0e123e73907687.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1419": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 36, + "start_line": 98 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1421": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1422": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 20, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1423": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 66, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 40, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1424": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 83, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 68, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1425": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/2a6553d1cb026d6d486f03ea4f3c4e23a17d2c2fada60e20573741cc8edfdb84.cairo" + }, + "parent_location": [ + { + "end_col": 17, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 145, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 124, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_sender' in:" + ], + "start_col": 5, + "start_line": 98 + }, + "While handling calldata argument 'sender'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1426": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" + }, + "parent_location": [ + { + "end_col": 34, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 181, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 157, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_recipient' in:" + ], + "start_col": 19, + "start_line": 98 + }, + "While handling calldata argument 'recipient'" + ], + "start_col": 32, + "start_line": 1 + } + }, + "1427": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 211, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 190, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 36, + "start_line": 98 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1428": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 51, + "end_line": 98, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 211, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 190, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 36, + "start_line": 98 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1429": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + } + }, + "1431": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 102, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 87, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1432": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 103, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1434": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1435": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1436": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1437": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1438": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/399e95a66db0cf4c0036c98e3b219036ad6afb6727c42dbeaf0489610f2118e2.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1439": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/transfer_from/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 19, + "end_line": 97, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 97 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1440": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 32, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 127, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 107 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 18, + "start_line": 127 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 14, + "start_line": 104 + } + }, + "1441": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 60, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 64, + "end_line": 127, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 107 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 38, + "start_line": 127 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 34, + "start_line": 104 + } + }, + "1442": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 77, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 81, + "end_line": 127, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 107 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 66, + "start_line": 127 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 62, + "start_line": 104 + } + }, + "1443": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 105, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 26, + "start_line": 107 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 5, + "start_line": 105 + } + }, + "1444": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 105, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 35, + "start_line": 107 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 20, + "start_line": 105 + } + }, + "1445": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 105, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 41, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 35, + "start_line": 107 + }, + "While expanding the reference 'amount' in:" + ], + "start_col": 20, + "start_line": 105 + } + }, + "1446": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 107 + } + }, + "1448": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 107, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 107 + } + }, + "1449": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1451": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 106, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 106 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1452": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 106, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 106 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1454": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 71, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 56, + "start_line": 1 + } + }, + "1455": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1456": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1457": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1458": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 105, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 20, + "start_line": 105 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1460": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1461": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 32, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 14, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1462": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 60, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 34, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1463": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 77, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 62, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1464": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 105, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 147, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 125, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_spender' in:" + ], + "start_col": 5, + "start_line": 105 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1465": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 105, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 177, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 156, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 20, + "start_line": 105 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1466": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" + }, + "parent_location": [ + { + "end_col": 35, + "end_line": 105, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 177, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 156, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_amount' in:" + ], + "start_col": 20, + "start_line": 105 + }, + "While handling calldata argument 'amount'" + ], + "start_col": 29, + "start_line": 1 + } + }, + "1467": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + } + }, + "1469": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 96, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 81, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1470": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 97, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1472": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1473": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1474": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1475": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1476": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1477": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 13, + "end_line": 104, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 104 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1478": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 47, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 114 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 29, + "start_line": 139 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 111 + } + }, + "1479": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 70, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 114 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 49, + "start_line": 139 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 111 + } + }, + "1480": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 87, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 114 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 77, + "start_line": 139 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 72, + "start_line": 111 + } + }, + "1481": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 112, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 37, + "start_line": 114 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 5, + "start_line": 112 + } + }, + "1482": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 112, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 114 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 20, + "start_line": 112 + } + }, + "1483": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 112, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 114 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 20, + "start_line": 112 + } + }, + "1484": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 114 + } + }, + "1486": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 59, + "end_line": 114, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 114 + } + }, + "1487": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1489": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 113, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 113 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1490": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 113, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 113 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1492": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 81, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 66, + "start_line": 1 + } + }, + "1493": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1494": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1495": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1496": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 112, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 20, + "start_line": 112 + }, + "While handling calldata argument 'added_value'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1498": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1499": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1500": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1501": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 87, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 72, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1502": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 112, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 147, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 125, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_spender' in:" + ], + "start_col": 5, + "start_line": 112 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1503": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 112, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 187, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 161, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_added_value' in:" + ], + "start_col": 20, + "start_line": 112 + }, + "While handling calldata argument 'added_value'" + ], + "start_col": 34, + "start_line": 1 + } + }, + "1504": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 112, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 187, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 161, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_added_value' in:" + ], + "start_col": 20, + "start_line": 112 + }, + "While handling calldata argument 'added_value'" + ], + "start_col": 34, + "start_line": 1 + } + }, + "1505": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + } + }, + "1507": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 106, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 91, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1508": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 107, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1510": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1511": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1512": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1513": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1514": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1515": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 111, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 111 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1516": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 47, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 121 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 29, + "start_line": 139 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 118 + } + }, + "1517": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 71, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 121 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 49, + "start_line": 139 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 45, + "start_line": 118 + } + }, + "1518": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 88, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 139, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 58, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 121 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 77, + "start_line": 139 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 73, + "start_line": 118 + } + }, + "1519": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 119, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 37, + "start_line": 121 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 5, + "start_line": 119 + } + }, + "1520": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 119, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 121 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 20, + "start_line": 119 + } + }, + "1521": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 119, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 121 + }, + "While expanding the reference 'added_value' in:" + ], + "start_col": 20, + "start_line": 119 + } + }, + "1522": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 121 + } + }, + "1524": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 59, + "end_line": 121, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 121 + } + }, + "1525": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1527": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 120, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 120 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1528": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 120, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 120 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1530": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 67, + "start_line": 1 + } + }, + "1531": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1532": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1533": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/increase_allowance/19fcf8a41480e1e17691259498f747eb73172f7fe5a269a3d9ffefec04ebebb0.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1534": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 119, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 20, + "start_line": 119 + }, + "While handling calldata argument 'added_value'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1536": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1537": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1538": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 71, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 45, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1539": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 88, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 73, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1540": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 119, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 147, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 125, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_spender' in:" + ], + "start_col": 5, + "start_line": 119 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1541": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 119, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 187, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 161, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_added_value' in:" + ], + "start_col": 20, + "start_line": 119 + }, + "While handling calldata argument 'added_value'" + ], + "start_col": 34, + "start_line": 1 + } + }, + "1542": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 119, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 187, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 161, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_added_value' in:" + ], + "start_col": 20, + "start_line": 119 + }, + "While handling calldata argument 'added_value'" + ], + "start_col": 34, + "start_line": 1 + } + }, + "1543": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + } + }, + "1545": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 107, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 92, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1546": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 108, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1548": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1549": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1550": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1551": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1552": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/03ca4d96cdfb21d86520158b87fa93e7b8d4acc993ea6a4c71975528bed7b685.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1553": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/increase_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 118, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 118 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1554": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 42, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 47, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 128 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 29, + "start_line": 158 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 125 + } + }, + "1555": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 70, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 128 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 49, + "start_line": 158 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 125 + } + }, + "1556": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 87, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 128 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 77, + "start_line": 158 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 72, + "start_line": 125 + } + }, + "1557": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 126, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 37, + "start_line": 128 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 5, + "start_line": 126 + } + }, + "1558": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 126, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 128 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 20, + "start_line": 126 + } + }, + "1559": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 126, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 128 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 20, + "start_line": 126 + } + }, + "1560": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 128 + } + }, + "1562": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 128, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 128 + } + }, + "1563": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1565": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 127, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 127 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1566": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 127, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 127 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1568": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 81, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 66, + "start_line": 1 + } + }, + "1569": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1570": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1571": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1572": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 126, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 20, + "start_line": 126 + }, + "While handling calldata argument 'subtracted_value'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1574": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1575": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 42, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 24, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1576": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 44, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1577": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 87, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 72, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1578": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 126, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 147, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 125, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_spender' in:" + ], + "start_col": 5, + "start_line": 126 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1579": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 126, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 197, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 166, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_subtracted_value' in:" + ], + "start_col": 20, + "start_line": 126 + }, + "While handling calldata argument 'subtracted_value'" + ], + "start_col": 39, + "start_line": 1 + } + }, + "1580": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 126, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 197, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 166, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_subtracted_value' in:" + ], + "start_col": 20, + "start_line": 126 + }, + "While handling calldata argument 'subtracted_value'" + ], + "start_col": 39, + "start_line": 1 + } + }, + "1581": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + } + }, + "1583": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 106, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 91, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1584": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 107, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1586": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1587": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1588": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1589": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1590": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1591": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 23, + "end_line": 125, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 125 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1592": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 43, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 47, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 135 + }, + "While trying to retrieve the implicit argument 'syscall_ptr' in:" + ], + "start_col": 29, + "start_line": 158 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 132 + } + }, + "1593": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 71, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 75, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 135 + }, + "While trying to retrieve the implicit argument 'pedersen_ptr' in:" + ], + "start_col": 49, + "start_line": 158 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 45, + "start_line": 132 + } + }, + "1594": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 88, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 92, + "end_line": 158, + "input_file": { + "filename": "/Users/msaug/kkrt-labs/kakarot/.venv/lib/python3.10/site-packages/openzeppelin/token/erc20/library.cairo" + }, + "parent_location": [ + { + "end_col": 63, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 135 + }, + "While trying to retrieve the implicit argument 'range_check_ptr' in:" + ], + "start_col": 77, + "start_line": 158 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 73, + "start_line": 132 + } + }, + "1595": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 18, + "end_line": 133, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 44, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 37, + "start_line": 135 + }, + "While expanding the reference 'spender' in:" + ], + "start_col": 5, + "start_line": 133 + } + }, + "1596": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 133, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 135 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 20, + "start_line": 133 + } + }, + "1597": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 45, + "end_line": 133, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 46, + "start_line": 135 + }, + "While expanding the reference 'subtracted_value' in:" + ], + "start_col": 20, + "start_line": 133 + } + }, + "1598": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 12, + "start_line": 135 + } + }, + "1600": { + "accessible_scopes": [ + "__main__", + "__main__", + "__main__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 135, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 5, + "start_line": 135 + } + }, + "1601": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [ + { + "location": { + "end_col": 38, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 3 + }, + "n_prefix_newlines": 0 + } + ], + "inst": { + "end_col": 18, + "end_line": 4, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 4 + } + }, + "1603": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 134, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 7, + "start_line": 134 + }, + "While handling return value 'success'" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1604": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 48, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 134, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 36, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + }, + "While expanding the reference '__return_value_ptr' in:" + ], + "start_col": 7, + "start_line": 134 + }, + "While handling return value 'success'" + ], + "start_col": 26, + "start_line": 2 + } + }, + "1606": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 40, + "end_line": 10, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 25, + "start_line": 10 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 67, + "start_line": 1 + } + }, + "1607": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 63, + "end_line": 11, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 18, + "start_line": 11 + } + }, + "1608": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 5, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 38, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 14, + "start_line": 12 + }, + "While expanding the reference '__return_value_ptr_start' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 11, + "start_line": 5 + } + }, + "1609": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 12, + "input_file": { + "filename": "autogen/starknet/external/return/decrease_allowance/6f283428500e63ccd4308d0f1fa6fe90a530392f71c29711e63bbe530dc4a9f9.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling return value of" + ], + "start_col": 5, + "start_line": 9 + } + }, + "1610": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 40, + "end_line": 3, + "input_file": { + "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 133, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 57, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling calldata of" + ], + "start_col": 35, + "start_line": 1 + }, + "While expanding the reference '__calldata_actual_size' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While handling calldata of" + ], + "start_col": 31, + "start_line": 1 + }, + "While expanding the reference '__calldata_ptr' in:" + ], + "start_col": 20, + "start_line": 133 + }, + "While handling calldata argument 'subtracted_value'" + ], + "start_col": 22, + "start_line": 3 + } + }, + "1612": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 58, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While handling calldata of" + ], + "start_col": 1, + "start_line": 1 + } + }, + "1613": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 64, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" + }, + "parent_location": [ + { + "end_col": 43, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 25, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 19, + "start_line": 1 + } + }, + "1614": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 110, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" + }, + "parent_location": [ + { + "end_col": 71, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 45, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 20, + "start_line": 1 + } + }, + "1615": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" + }, + "parent_location": [ + { + "end_col": 88, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 73, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 1 + } + }, + "1616": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 46, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" + }, + "parent_location": [ + { + "end_col": 18, + "end_line": 133, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 147, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 125, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_spender' in:" + ], + "start_col": 5, + "start_line": 133 + }, + "While handling calldata argument 'spender'" + ], + "start_col": 30, + "start_line": 1 + } + }, + "1617": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 133, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 197, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 166, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_subtracted_value' in:" + ], + "start_col": 20, + "start_line": 133 + }, + "While handling calldata argument 'subtracted_value'" + ], + "start_col": 39, + "start_line": 1 + } + }, + "1618": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 67, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" + }, + "parent_location": [ + { + "end_col": 45, + "end_line": 133, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 197, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 166, + "start_line": 1 + }, + "While expanding the reference '__calldata_arg_subtracted_value' in:" + ], + "start_col": 20, + "start_line": 133 + }, + "While handling calldata argument 'subtracted_value'" + ], + "start_col": 39, + "start_line": 1 + } + }, + "1619": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + } + }, + "1621": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 115, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 107, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 92, + "start_line": 2 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 100, + "start_line": 1 + } + }, + "1622": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 108, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 48, + "start_line": 2 + } + }, + "1624": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 55, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 20, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 9, + "start_line": 1 + }, + "While expanding the reference 'syscall_ptr' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 44, + "start_line": 1 + } + }, + "1625": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 82, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 33, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 21, + "start_line": 1 + }, + "While expanding the reference 'pedersen_ptr' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 70, + "start_line": 1 + } + }, + "1626": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 21, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 49, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 34, + "start_line": 1 + }, + "While expanding the reference 'range_check_ptr' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 6, + "start_line": 2 + } + }, + "1627": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 35, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 62, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 50, + "start_line": 1 + }, + "While expanding the reference 'retdata_size' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 23, + "start_line": 2 + } + }, + "1628": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 44, + "end_line": 2, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/ee7d84f94c116636108d0a322af66b32d2ccad1f7a8dd5c05f669c1f8c7fa9b4.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "parent_location": [ + { + "end_col": 70, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 63, + "start_line": 1 + }, + "While expanding the reference 'retdata' in:" + ], + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 37, + "start_line": 2 + } + }, + "1629": { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance" + ], + "flow_tracking_data": null, + "hints": [], + "inst": { + "end_col": 72, + "end_line": 1, + "input_file": { + "filename": "autogen/starknet/external/decrease_allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" + }, + "parent_location": [ + { + "end_col": 24, + "end_line": 132, + "input_file": { + "filename": "cairo_zero/openzeppelin/ERC20.cairo" + }, + "start_col": 6, + "start_line": 132 + }, + "While constructing the external wrapper for:" + ], + "start_col": 1, + "start_line": 1 + } + } + } + }, + "hints": { + "0": [ + { + "accessible_scopes": [ + "starkware.cairo.common.alloc", + "starkware.cairo.common.alloc.alloc" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 0, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "12": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.get_caller_address" + ], + "code": "syscall_handler.get_caller_address(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 2, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": 0 + } + } + } + ], + "20": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_read" + ], + "code": "syscall_handler.storage_read(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 3, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.storage_read.syscall_ptr": 1 + } + } + } + ], + "29": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.storage_write" + ], + "code": "syscall_handler.storage_write(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 4, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.storage_write.syscall_ptr": 2 + } + } + } + ], + "39": [ + { + "accessible_scopes": [ + "starkware.starknet.common.syscalls", + "starkware.starknet.common.syscalls.emit_event" + ], + "code": "syscall_handler.emit_event(segments=segments, syscall_ptr=ids.syscall_ptr)", + "flow_tracking_data": { + "ap_tracking": { + "group": 5, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.syscalls.emit_event.syscall_ptr": 3 + } + } + } + ], + "42": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_not_zero" + ], + "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.value)\nassert ids.value % PRIME != 0, f'assert_not_zero failed: {ids.value} = 0.'", + "flow_tracking_data": { + "ap_tracking": { + "group": 6, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_not_zero.value": 4 + } + } + } + ], + "47": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_nn" + ], + "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert 0 <= ids.a % PRIME < range_check_builtin.bound, f'a = {ids.a} is out of range.'", + "flow_tracking_data": { + "ap_tracking": { + "group": 7, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_nn.a": 5 + } + } + } + ], + "56": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_250_bit" + ], + "code": "from starkware.cairo.common.math_utils import as_int\n\n# Correctness check.\nvalue = as_int(ids.value, PRIME) % PRIME\nassert value < ids.UPPER_BOUND, f'{value} is outside of the range [0, 2**250).'\n\n# Calculation for the assertion.\nids.high, ids.low = divmod(ids.value, ids.SHIFT)", + "flow_tracking_data": { + "ap_tracking": { + "group": 9, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_250_bit.high": 8, + "starkware.cairo.common.math.assert_250_bit.low": 7, + "starkware.cairo.common.math.assert_250_bit.value": 6 + } + } + } + ], + "69": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "import itertools\n\nfrom starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert_integer(ids.b)\na = ids.a % PRIME\nb = ids.b % PRIME\nassert a <= b, f'a = {a} is not less than or equal to b = {b}.'\n\n# Find an arc less than PRIME / 3, and another less than PRIME / 2.\nlengths_and_indices = [(a, 0), (b - a, 1), (PRIME - 1 - b, 2)]\nlengths_and_indices.sort()\nassert lengths_and_indices[0][0] <= PRIME // 3 and lengths_and_indices[1][0] <= PRIME // 2\nexcluded = lengths_and_indices[2][1]\n\nmemory[ids.range_check_ptr + 1], memory[ids.range_check_ptr + 0] = (\n divmod(lengths_and_indices[0][0], ids.PRIME_OVER_3_HIGH))\nmemory[ids.range_check_ptr + 3], memory[ids.range_check_ptr + 2] = (\n divmod(lengths_and_indices[1][0], ids.PRIME_OVER_2_HIGH))", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math.assert_le_felt.a": 9, + "starkware.cairo.common.math.assert_le_felt.b": 10, + "starkware.cairo.common.math.assert_le_felt.range_check_ptr": 11 + } + } + } + ], + "79": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "memory[ap] = 1 if excluded != 0 else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 8 + }, + "reference_ids": {} + } + } + ], + "93": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "memory[ap] = 1 if excluded != 1 else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 9 + }, + "reference_ids": {} + } + } + ], + "105": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math", + "starkware.cairo.common.math.assert_le_felt" + ], + "code": "assert excluded == 2", + "flow_tracking_data": { + "ap_tracking": { + "group": 10, + "offset": 10 + }, + "reference_ids": {} + } + } + ], + "116": [ + { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "code": "# Verify the assumptions on the relationship between 2**250, ADDR_BOUND and PRIME.\nADDR_BOUND = ids.ADDR_BOUND % PRIME\nassert (2**250 < ADDR_BOUND <= 2**251) and (2 * 2**250 < PRIME) and (\n ADDR_BOUND * 2 > PRIME), \\\n 'normalize_address() cannot be used with the current constants.'\nids.is_small = 1 if ids.addr < ADDR_BOUND else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 11, + "offset": 1 + }, + "reference_ids": { + "starkware.starknet.common.storage.normalize_address.addr": 12, + "starkware.starknet.common.storage.normalize_address.is_small": 13 + } + } + } + ], + "134": [ + { + "accessible_scopes": [ + "starkware.starknet.common.storage", + "starkware.starknet.common.storage.normalize_address" + ], + "code": "ids.is_250 = 1 if ids.addr < 2**250 else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 11, + "offset": 2 + }, + "reference_ids": { + "starkware.starknet.common.storage.normalize_address.addr": 12, + "starkware.starknet.common.storage.normalize_address.is_250": 14 + } + } + } + ], + "154": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "code": "memory[ap] = 0 if 0 <= (ids.a % PRIME) < range_check_builtin.bound else 1", + "flow_tracking_data": { + "ap_tracking": { + "group": 12, + "offset": 0 + }, + "reference_ids": { + "starkware.cairo.common.math_cmp.is_nn.a": 15 + } + } + } + ], + "164": [ + { + "accessible_scopes": [ + "starkware.cairo.common.math_cmp", + "starkware.cairo.common.math_cmp.is_nn" + ], + "code": "memory[ap] = 0 if 0 <= ((-ids.a - 1) % PRIME) < range_check_builtin.bound else 1", + "flow_tracking_data": { + "ap_tracking": { + "group": 12, + "offset": 1 + }, + "reference_ids": { + "starkware.cairo.common.math_cmp.is_nn.a": 15 + } + } + } + ], + "199": [ + { + "accessible_scopes": [ + "starkware.cairo.common.uint256", + "starkware.cairo.common.uint256.uint256_add" + ], + "code": "sum_low = ids.a.low + ids.b.low\nids.carry_low = 1 if sum_low >= ids.SHIFT else 0\nsum_high = ids.a.high + ids.b.high + ids.carry_low\nids.carry_high = 1 if sum_high >= ids.SHIFT else 0", + "flow_tracking_data": { + "ap_tracking": { + "group": 15, + "offset": 4 + }, + "reference_ids": { + "starkware.cairo.common.uint256.uint256_add.a": 16, + "starkware.cairo.common.uint256.uint256_add.b": 17, + "starkware.cairo.common.uint256.uint256_add.carry_high": 19, + "starkware.cairo.common.uint256.uint256_add.carry_low": 18 + } + } + } + ], + "1054": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.constructor" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 68, + "offset": 414 + }, + "reference_ids": {} + } + } + ], + "1069": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.name_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 70, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1099": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.symbol_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 73, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1129": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.totalSupply_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 76, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1160": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.total_supply_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 79, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1191": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decimals_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 82, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1222": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balanceOf_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 85, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1257": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.balance_of_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 88, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1293": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.allowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 91, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1331": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 95, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1370": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transferFrom_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 100, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1410": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.transfer_from_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 105, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1449": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.approve_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 110, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1487": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increaseAllowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 115, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1525": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.increase_allowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 120, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1563": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decreaseAllowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 125, + "offset": 0 + }, + "reference_ids": {} + } + } + ], + "1601": [ + { + "accessible_scopes": [ + "__main__", + "__main__", + "__wrappers__", + "__wrappers__.decrease_allowance_encode_return" + ], + "code": "memory[ap] = segments.add()", + "flow_tracking_data": { + "ap_tracking": { + "group": 130, + "offset": 0 + }, + "reference_ids": {} + } + } + ] + }, + "identifiers": { + "__main__.ERC20": { + "destination": "openzeppelin.token.erc20.library.ERC20", + "type": "alias" + }, + "__main__.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "__main__.Uint256": { + "destination": "starkware.cairo.common.uint256.Uint256", + "type": "alias" + }, + "__main__.allowance": { + "decorators": [ + "view" + ], + "pc": 1285, + "type": "function" + }, + "__main__.allowance.Args": { + "full_name": "__main__.allowance.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "__main__.allowance.ImplicitArgs": { + "full_name": "__main__.allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.allowance.Return": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "__main__.allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.approve": { + "decorators": [ + "external" + ], + "pc": 1440, + "type": "function" + }, + "__main__.approve.Args": { + "full_name": "__main__.approve.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.approve.ImplicitArgs": { + "full_name": "__main__.approve.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.approve.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.balanceOf": { + "decorators": [ + "view" + ], + "pc": 1215, + "type": "function" + }, + "__main__.balanceOf.Args": { + "full_name": "__main__.balanceOf.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "__main__.balanceOf.ImplicitArgs": { + "full_name": "__main__.balanceOf.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.balanceOf.Return": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "__main__.balanceOf.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.balance_of": { + "decorators": [ + "view" + ], + "pc": 1250, + "type": "function" + }, + "__main__.balance_of.Args": { + "full_name": "__main__.balance_of.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "__main__.balance_of.ImplicitArgs": { + "full_name": "__main__.balance_of.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.balance_of.Return": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "__main__.balance_of.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.constructor": { + "decorators": [ + "constructor" + ], + "pc": 1026, + "type": "function" + }, + "__main__.constructor.Args": { + "full_name": "__main__.constructor.Args", + "members": { + "decimals": { + "cairo_type": "felt", + "offset": 2 + }, + "initial_supply": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 3 + }, + "name": { + "cairo_type": "felt", + "offset": 0 + }, + "recipient": { + "cairo_type": "felt", + "offset": 5 + }, + "symbol": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 6, + "type": "struct" + }, + "__main__.constructor.ImplicitArgs": { + "full_name": "__main__.constructor.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.constructor.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "__main__.constructor.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.decimals": { + "decorators": [ + "view" + ], + "pc": 1185, + "type": "function" + }, + "__main__.decimals.Args": { + "full_name": "__main__.decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__main__.decimals.ImplicitArgs": { + "full_name": "__main__.decimals.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.decimals.Return": { + "cairo_type": "(decimals: felt)", + "type": "type_definition" + }, + "__main__.decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.decreaseAllowance": { + "decorators": [ + "external" + ], + "pc": 1554, + "type": "function" + }, + "__main__.decreaseAllowance.Args": { + "full_name": "__main__.decreaseAllowance.Args", + "members": { + "spender": { + "cairo_type": "felt", + "offset": 0 + }, + "subtracted_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.decreaseAllowance.ImplicitArgs": { + "full_name": "__main__.decreaseAllowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.decreaseAllowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.decreaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.decrease_allowance": { + "decorators": [ + "external" + ], + "pc": 1592, + "type": "function" + }, + "__main__.decrease_allowance.Args": { + "full_name": "__main__.decrease_allowance.Args", + "members": { + "spender": { + "cairo_type": "felt", + "offset": 0 + }, + "subtracted_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.decrease_allowance.ImplicitArgs": { + "full_name": "__main__.decrease_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.decrease_allowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.decrease_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.increaseAllowance": { + "decorators": [ + "external" + ], + "pc": 1478, + "type": "function" + }, + "__main__.increaseAllowance.Args": { + "full_name": "__main__.increaseAllowance.Args", + "members": { + "added_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.increaseAllowance.ImplicitArgs": { + "full_name": "__main__.increaseAllowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.increaseAllowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.increaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.increase_allowance": { + "decorators": [ + "external" + ], + "pc": 1516, + "type": "function" + }, + "__main__.increase_allowance.Args": { + "full_name": "__main__.increase_allowance.Args", + "members": { + "added_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.increase_allowance.ImplicitArgs": { + "full_name": "__main__.increase_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.increase_allowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.increase_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.name": { + "decorators": [ + "view" + ], + "pc": 1063, + "type": "function" + }, + "__main__.name.Args": { + "full_name": "__main__.name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__main__.name.ImplicitArgs": { + "full_name": "__main__.name.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.name.Return": { + "cairo_type": "(name: felt)", + "type": "type_definition" + }, + "__main__.name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.symbol": { + "decorators": [ + "view" + ], + "pc": 1093, + "type": "function" + }, + "__main__.symbol.Args": { + "full_name": "__main__.symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__main__.symbol.ImplicitArgs": { + "full_name": "__main__.symbol.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.symbol.Return": { + "cairo_type": "(symbol: felt)", + "type": "type_definition" + }, + "__main__.symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.totalSupply": { + "decorators": [ + "view" + ], + "pc": 1123, + "type": "function" + }, + "__main__.totalSupply.Args": { + "full_name": "__main__.totalSupply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__main__.totalSupply.ImplicitArgs": { + "full_name": "__main__.totalSupply.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.totalSupply.Return": { + "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "__main__.totalSupply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.total_supply": { + "decorators": [ + "view" + ], + "pc": 1154, + "type": "function" + }, + "__main__.total_supply.Args": { + "full_name": "__main__.total_supply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__main__.total_supply.ImplicitArgs": { + "full_name": "__main__.total_supply.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.total_supply.Return": { + "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "__main__.total_supply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.transfer": { + "decorators": [ + "external" + ], + "pc": 1322, + "type": "function" + }, + "__main__.transfer.Args": { + "full_name": "__main__.transfer.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "recipient": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.transfer.ImplicitArgs": { + "full_name": "__main__.transfer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.transfer.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.transferFrom": { + "decorators": [ + "external" + ], + "pc": 1360, + "type": "function" + }, + "__main__.transferFrom.Args": { + "full_name": "__main__.transferFrom.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "recipient": { + "cairo_type": "felt", + "offset": 1 + }, + "sender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "__main__.transferFrom.ImplicitArgs": { + "full_name": "__main__.transferFrom.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.transferFrom.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.transferFrom.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__main__.transfer_from": { + "decorators": [ + "external" + ], + "pc": 1400, + "type": "function" + }, + "__main__.transfer_from.Args": { + "full_name": "__main__.transfer_from.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "recipient": { + "cairo_type": "felt", + "offset": 1 + }, + "sender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "__main__.transfer_from.ImplicitArgs": { + "full_name": "__main__.transfer_from.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__main__.transfer_from.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "__main__.transfer_from.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.allowance": { + "decorators": [ + "view" + ], + "pc": 1303, + "type": "function" + }, + "__wrappers__.allowance.Args": { + "full_name": "__wrappers__.allowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.allowance.ImplicitArgs": { + "full_name": "__wrappers__.allowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.allowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.allowance.__wrapped_func": { + "destination": "__main__.allowance", + "type": "alias" + }, + "__wrappers__.allowance_encode_return": { + "decorators": [], + "pc": 1293, + "type": "function" + }, + "__wrappers__.allowance_encode_return.Args": { + "full_name": "__wrappers__.allowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.allowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.allowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.allowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.allowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.allowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.approve": { + "decorators": [ + "external" + ], + "pc": 1458, + "type": "function" + }, + "__wrappers__.approve.Args": { + "full_name": "__wrappers__.approve.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.approve.ImplicitArgs": { + "full_name": "__wrappers__.approve.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.approve.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.approve.__wrapped_func": { + "destination": "__main__.approve", + "type": "alias" + }, + "__wrappers__.approve_encode_return": { + "decorators": [], + "pc": 1449, + "type": "function" + }, + "__wrappers__.approve_encode_return.Args": { + "full_name": "__wrappers__.approve_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.approve_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.approve_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.approve_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.approve_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.approve_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.balanceOf": { + "decorators": [ + "view" + ], + "pc": 1232, + "type": "function" + }, + "__wrappers__.balanceOf.Args": { + "full_name": "__wrappers__.balanceOf.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balanceOf.ImplicitArgs": { + "full_name": "__wrappers__.balanceOf.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balanceOf.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.balanceOf.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.balanceOf.__wrapped_func": { + "destination": "__main__.balanceOf", + "type": "alias" + }, + "__wrappers__.balanceOf_encode_return": { + "decorators": [], + "pc": 1222, + "type": "function" + }, + "__wrappers__.balanceOf_encode_return.Args": { + "full_name": "__wrappers__.balanceOf_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.balanceOf_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.balanceOf_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balanceOf_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.balanceOf_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.balanceOf_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.balance_of": { + "decorators": [ + "view" + ], + "pc": 1267, + "type": "function" + }, + "__wrappers__.balance_of.Args": { + "full_name": "__wrappers__.balance_of.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balance_of.ImplicitArgs": { + "full_name": "__wrappers__.balance_of.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balance_of.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.balance_of.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.balance_of.__wrapped_func": { + "destination": "__main__.balance_of", + "type": "alias" + }, + "__wrappers__.balance_of_encode_return": { + "decorators": [], + "pc": 1257, + "type": "function" + }, + "__wrappers__.balance_of_encode_return.Args": { + "full_name": "__wrappers__.balance_of_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.balance_of_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.balance_of_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.balance_of_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.balance_of_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.balance_of_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.constructor": { + "decorators": [ + "constructor" + ], + "pc": 1040, + "type": "function" + }, + "__wrappers__.constructor.Args": { + "full_name": "__wrappers__.constructor.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.constructor.ImplicitArgs": { + "full_name": "__wrappers__.constructor.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.constructor.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.constructor.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.constructor.__wrapped_func": { + "destination": "__main__.constructor", + "type": "alias" + }, + "__wrappers__.constructor_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.decimals": { + "decorators": [ + "view" + ], + "pc": 1200, + "type": "function" + }, + "__wrappers__.decimals.Args": { + "full_name": "__wrappers__.decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decimals.ImplicitArgs": { + "full_name": "__wrappers__.decimals.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decimals.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.decimals.__wrapped_func": { + "destination": "__main__.decimals", + "type": "alias" + }, + "__wrappers__.decimals_encode_return": { + "decorators": [], + "pc": 1191, + "type": "function" + }, + "__wrappers__.decimals_encode_return.Args": { + "full_name": "__wrappers__.decimals_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(decimals: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.decimals_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.decimals_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decimals_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.decimals_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.decimals_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.decreaseAllowance": { + "decorators": [ + "external" + ], + "pc": 1572, + "type": "function" + }, + "__wrappers__.decreaseAllowance.Args": { + "full_name": "__wrappers__.decreaseAllowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decreaseAllowance.ImplicitArgs": { + "full_name": "__wrappers__.decreaseAllowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decreaseAllowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.decreaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.decreaseAllowance.__wrapped_func": { + "destination": "__main__.decreaseAllowance", + "type": "alias" + }, + "__wrappers__.decreaseAllowance_encode_return": { + "decorators": [], + "pc": 1563, + "type": "function" + }, + "__wrappers__.decreaseAllowance_encode_return.Args": { + "full_name": "__wrappers__.decreaseAllowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decreaseAllowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.decreaseAllowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.decreaseAllowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.decrease_allowance": { + "decorators": [ + "external" + ], + "pc": 1610, + "type": "function" + }, + "__wrappers__.decrease_allowance.Args": { + "full_name": "__wrappers__.decrease_allowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decrease_allowance.ImplicitArgs": { + "full_name": "__wrappers__.decrease_allowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decrease_allowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.decrease_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.decrease_allowance.__wrapped_func": { + "destination": "__main__.decrease_allowance", + "type": "alias" + }, + "__wrappers__.decrease_allowance_encode_return": { + "decorators": [], + "pc": 1601, + "type": "function" + }, + "__wrappers__.decrease_allowance_encode_return.Args": { + "full_name": "__wrappers__.decrease_allowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.decrease_allowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.decrease_allowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.decrease_allowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.decrease_allowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.decrease_allowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.increaseAllowance": { + "decorators": [ + "external" + ], + "pc": 1496, + "type": "function" + }, + "__wrappers__.increaseAllowance.Args": { + "full_name": "__wrappers__.increaseAllowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increaseAllowance.ImplicitArgs": { + "full_name": "__wrappers__.increaseAllowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increaseAllowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.increaseAllowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.increaseAllowance.__wrapped_func": { + "destination": "__main__.increaseAllowance", + "type": "alias" + }, + "__wrappers__.increaseAllowance_encode_return": { + "decorators": [], + "pc": 1487, + "type": "function" + }, + "__wrappers__.increaseAllowance_encode_return.Args": { + "full_name": "__wrappers__.increaseAllowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.increaseAllowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.increaseAllowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increaseAllowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.increaseAllowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.increaseAllowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.increase_allowance": { + "decorators": [ + "external" + ], + "pc": 1534, + "type": "function" + }, + "__wrappers__.increase_allowance.Args": { + "full_name": "__wrappers__.increase_allowance.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increase_allowance.ImplicitArgs": { + "full_name": "__wrappers__.increase_allowance.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increase_allowance.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.increase_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.increase_allowance.__wrapped_func": { + "destination": "__main__.increase_allowance", + "type": "alias" + }, + "__wrappers__.increase_allowance_encode_return": { + "decorators": [], + "pc": 1525, + "type": "function" + }, + "__wrappers__.increase_allowance_encode_return.Args": { + "full_name": "__wrappers__.increase_allowance_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.increase_allowance_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.increase_allowance_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.increase_allowance_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.increase_allowance_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.increase_allowance_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.name": { + "decorators": [ + "view" + ], + "pc": 1078, + "type": "function" + }, + "__wrappers__.name.Args": { + "full_name": "__wrappers__.name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.name.ImplicitArgs": { + "full_name": "__wrappers__.name.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.name.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.name.__wrapped_func": { + "destination": "__main__.name", + "type": "alias" + }, + "__wrappers__.name_encode_return": { + "decorators": [], + "pc": 1069, + "type": "function" + }, + "__wrappers__.name_encode_return.Args": { + "full_name": "__wrappers__.name_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(name: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.name_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.name_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.name_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.name_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.name_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.symbol": { + "decorators": [ + "view" + ], + "pc": 1108, + "type": "function" + }, + "__wrappers__.symbol.Args": { + "full_name": "__wrappers__.symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.symbol.ImplicitArgs": { + "full_name": "__wrappers__.symbol.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.symbol.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.symbol.__wrapped_func": { + "destination": "__main__.symbol", + "type": "alias" + }, + "__wrappers__.symbol_encode_return": { + "decorators": [], + "pc": 1099, + "type": "function" + }, + "__wrappers__.symbol_encode_return.Args": { + "full_name": "__wrappers__.symbol_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(symbol: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.symbol_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.symbol_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.symbol_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.symbol_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.symbol_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.totalSupply": { + "decorators": [ + "view" + ], + "pc": 1139, + "type": "function" + }, + "__wrappers__.totalSupply.Args": { + "full_name": "__wrappers__.totalSupply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.totalSupply.ImplicitArgs": { + "full_name": "__wrappers__.totalSupply.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.totalSupply.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.totalSupply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.totalSupply.__wrapped_func": { + "destination": "__main__.totalSupply", + "type": "alias" + }, + "__wrappers__.totalSupply_encode_return": { + "decorators": [], + "pc": 1129, + "type": "function" + }, + "__wrappers__.totalSupply_encode_return.Args": { + "full_name": "__wrappers__.totalSupply_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.totalSupply_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.totalSupply_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.totalSupply_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.totalSupply_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.totalSupply_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.total_supply": { + "decorators": [ + "view" + ], + "pc": 1170, + "type": "function" + }, + "__wrappers__.total_supply.Args": { + "full_name": "__wrappers__.total_supply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.total_supply.ImplicitArgs": { + "full_name": "__wrappers__.total_supply.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.total_supply.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.total_supply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.total_supply.__wrapped_func": { + "destination": "__main__.total_supply", + "type": "alias" + }, + "__wrappers__.total_supply_encode_return": { + "decorators": [], + "pc": 1160, + "type": "function" + }, + "__wrappers__.total_supply_encode_return.Args": { + "full_name": "__wrappers__.total_supply_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "ret_value": { + "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "__wrappers__.total_supply_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.total_supply_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.total_supply_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.total_supply_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.total_supply_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.transfer": { + "decorators": [ + "external" + ], + "pc": 1340, + "type": "function" + }, + "__wrappers__.transfer.Args": { + "full_name": "__wrappers__.transfer.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer.ImplicitArgs": { + "full_name": "__wrappers__.transfer.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.transfer.__wrapped_func": { + "destination": "__main__.transfer", + "type": "alias" + }, + "__wrappers__.transferFrom": { + "decorators": [ + "external" + ], + "pc": 1379, + "type": "function" + }, + "__wrappers__.transferFrom.Args": { + "full_name": "__wrappers__.transferFrom.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transferFrom.ImplicitArgs": { + "full_name": "__wrappers__.transferFrom.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transferFrom.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.transferFrom.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.transferFrom.__wrapped_func": { + "destination": "__main__.transferFrom", + "type": "alias" + }, + "__wrappers__.transferFrom_encode_return": { + "decorators": [], + "pc": 1370, + "type": "function" + }, + "__wrappers__.transferFrom_encode_return.Args": { + "full_name": "__wrappers__.transferFrom_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.transferFrom_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.transferFrom_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transferFrom_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.transferFrom_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.transferFrom_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.transfer_encode_return": { + "decorators": [], + "pc": 1331, + "type": "function" + }, + "__wrappers__.transfer_encode_return.Args": { + "full_name": "__wrappers__.transfer_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.transfer_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.transfer_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.transfer_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.transfer_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "__wrappers__.transfer_from": { + "decorators": [ + "external" + ], + "pc": 1419, + "type": "function" + }, + "__wrappers__.transfer_from.Args": { + "full_name": "__wrappers__.transfer_from.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer_from.ImplicitArgs": { + "full_name": "__wrappers__.transfer_from.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer_from.Return": { + "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", + "type": "type_definition" + }, + "__wrappers__.transfer_from.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "__wrappers__.transfer_from.__wrapped_func": { + "destination": "__main__.transfer_from", + "type": "alias" + }, + "__wrappers__.transfer_from_encode_return": { + "decorators": [], + "pc": 1410, + "type": "function" + }, + "__wrappers__.transfer_from_encode_return.Args": { + "full_name": "__wrappers__.transfer_from_encode_return.Args", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "ret_value": { + "cairo_type": "(success: felt)", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "__wrappers__.transfer_from_encode_return.ImplicitArgs": { + "full_name": "__wrappers__.transfer_from_encode_return.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "__wrappers__.transfer_from_encode_return.Return": { + "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", + "type": "type_definition" + }, + "__wrappers__.transfer_from_encode_return.SIZEOF_LOCALS": { + "type": "const", + "value": 1 + }, + "__wrappers__.transfer_from_encode_return.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "openzeppelin.security.safemath.library.FALSE": { + "destination": "starkware.cairo.common.bool.FALSE", + "type": "alias" + }, + "openzeppelin.security.safemath.library.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.security.safemath.library.SafeUint256": { + "type": "namespace" + }, + "openzeppelin.security.safemath.library.SafeUint256.Args": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.security.safemath.library.SafeUint256.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.security.safemath.library.SafeUint256.add": { + "decorators": [], + "pc": 309, + "type": "function" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.Args": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.Return": { + "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.security.safemath.library.SafeUint256.add.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le": { + "decorators": [], + "pc": 330, + "type": "function" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs": { + "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.Return": { + "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.security.safemath.library.SafeUint256.sub_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.security.safemath.library.TRUE": { + "destination": "starkware.cairo.common.bool.TRUE", + "type": "alias" + }, + "openzeppelin.security.safemath.library.Uint256": { + "destination": "starkware.cairo.common.uint256.Uint256", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_add": { + "destination": "starkware.cairo.common.uint256.uint256_add", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_check": { + "destination": "starkware.cairo.common.uint256.uint256_check", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_eq": { + "destination": "starkware.cairo.common.uint256.uint256_eq", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_le": { + "destination": "starkware.cairo.common.uint256.uint256_le", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_lt": { + "destination": "starkware.cairo.common.uint256.uint256_lt", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_mul": { + "destination": "starkware.cairo.common.uint256.uint256_mul", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_sub": { + "destination": "starkware.cairo.common.uint256.uint256_sub", + "type": "alias" + }, + "openzeppelin.security.safemath.library.uint256_unsigned_div_rem": { + "destination": "starkware.cairo.common.uint256.uint256_unsigned_div_rem", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Approval": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.Approval.Args": { + "full_name": "openzeppelin.token.erc20.library.Approval.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Approval.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Approval.SELECTOR": { + "type": "const", + "value": 544914742286571513055574265148471203182105283038408585630116262969508767999 + }, + "openzeppelin.token.erc20.library.Approval.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.Approval.alloc": { + "destination": "starkware.cairo.common.alloc.alloc", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Approval.emit": { + "decorators": [], + "pc": 384, + "type": "function" + }, + "openzeppelin.token.erc20.library.Approval.emit.Args": { + "full_name": "openzeppelin.token.erc20.library.Approval.emit.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Approval.emit.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Approval.emit.SIZEOF_LOCALS": { + "type": "const", + "value": 2 + }, + "openzeppelin.token.erc20.library.Approval.emit_event": { + "destination": "starkware.starknet.common.syscalls.emit_event", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Approval.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20._approve": { + "decorators": [], + "pc": 939, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._approve.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._approve.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._approve.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20._mint": { + "decorators": [], + "pc": 831, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._mint.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._mint.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "recipient": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._mint.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._mint.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance": { + "decorators": [], + "pc": 971, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._spend_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 4 + }, + "openzeppelin.token.erc20.library.ERC20._transfer": { + "decorators": [], + "pc": 883, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "recipient": { + "cairo_type": "felt", + "offset": 1 + }, + "sender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20._transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.allowance": { + "decorators": [], + "pc": 703, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.Return": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.approve": { + "decorators": [], + "pc": 747, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.approve.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.approve.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.approve.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.approve.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.balance_of": { + "decorators": [], + "pc": 696, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.Return": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.balance_of.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.decimals": { + "decorators": [], + "pc": 690, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.Return": { + "cairo_type": "(decimals: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance": { + "decorators": [], + "pc": 798, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args", + "members": { + "spender": { + "cairo_type": "felt", + "offset": 0 + }, + "subtracted_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.decrease_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance": { + "decorators": [], + "pc": 767, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args", + "members": { + "added_value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "spender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.increase_allowance.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.initializer": { + "decorators": [], + "pc": 651, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.Args", + "members": { + "decimals": { + "cairo_type": "felt", + "offset": 2 + }, + "name": { + "cairo_type": "felt", + "offset": 0 + }, + "symbol": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.initializer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.name": { + "decorators": [], + "pc": 672, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.name.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.name.Return": { + "cairo_type": "(name: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.symbol": { + "decorators": [], + "pc": 678, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.Return": { + "cairo_type": "(symbol: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.total_supply": { + "decorators": [], + "pc": 684, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.Return": { + "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.total_supply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.transfer": { + "decorators": [], + "pc": 711, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + }, + "recipient": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from": { + "decorators": [], + "pc": 726, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.Args", + "members": { + "amount": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + }, + "recipient": { + "cairo_type": "felt", + "offset": 1 + }, + "sender": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.Return": { + "cairo_type": "(success: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20.transfer_from.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr": { + "decorators": [], + "pc": 594, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read": { + "decorators": [], + "pc": 611, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.Return": { + "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_allowances.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write": { + "decorators": [], + "pc": 632, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.Args", + "members": { + "owner": { + "cairo_type": "felt", + "offset": 0 + }, + "spender": { + "cairo_type": "felt", + "offset": 1 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_allowances.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_balances.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr": { + "decorators": [], + "pc": 542, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read": { + "decorators": [], + "pc": 556, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.Return": { + "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_balances.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write": { + "decorators": [], + "pc": 576, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.Args", + "members": { + "account": { + "cairo_type": "felt", + "offset": 0 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_balances.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr": { + "decorators": [], + "pc": 471, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read": { + "decorators": [], + "pc": 476, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.Return": { + "cairo_type": "(decimals: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_decimals.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write": { + "decorators": [], + "pc": 489, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_decimals.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_name.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name.addr": { + "decorators": [], + "pc": 411, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.read": { + "decorators": [], + "pc": 416, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.Return": { + "cairo_type": "(name: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_name.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_name.write": { + "decorators": [], + "pc": 429, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_name.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr": { + "decorators": [], + "pc": 441, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read": { + "decorators": [], + "pc": 446, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.Return": { + "cairo_type": "(symbol: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_symbol.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write": { + "decorators": [], + "pc": 459, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_symbol.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr": { + "decorators": [], + "pc": 501, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.addr.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.hash2": { + "destination": "starkware.cairo.common.hash.hash2", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.normalize_address": { + "destination": "starkware.starknet.common.storage.normalize_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read": { + "decorators": [], + "pc": 506, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.Return": { + "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.storage_read": { + "destination": "starkware.starknet.common.syscalls.storage_read", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.storage_write": { + "destination": "starkware.starknet.common.syscalls.storage_write", + "type": "alias" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write": { + "decorators": [], + "pc": 525, + "type": "function" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args", + "members": { + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs", + "members": { + "pedersen_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 1 + }, + "range_check_ptr": { + "cairo_type": "felt", + "offset": 2 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.ERC20_total_supply.write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.FALSE": { + "destination": "starkware.cairo.common.bool.FALSE", + "type": "alias" + }, + "openzeppelin.token.erc20.library.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "openzeppelin.token.erc20.library.SafeUint256": { + "destination": "openzeppelin.security.safemath.library.SafeUint256", + "type": "alias" + }, + "openzeppelin.token.erc20.library.TRUE": { + "destination": "starkware.cairo.common.bool.TRUE", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Transfer": { + "type": "namespace" + }, + "openzeppelin.token.erc20.library.Transfer.Args": { + "full_name": "openzeppelin.token.erc20.library.Transfer.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Transfer.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Transfer.SELECTOR": { + "type": "const", + "value": 271746229759260285552388728919865295615886751538523744128730118297934206697 + }, + "openzeppelin.token.erc20.library.Transfer.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "openzeppelin.token.erc20.library.Transfer.alloc": { + "destination": "starkware.cairo.common.alloc.alloc", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Transfer.emit": { + "decorators": [], + "pc": 357, + "type": "function" + }, + "openzeppelin.token.erc20.library.Transfer.emit.Args": { + "full_name": "openzeppelin.token.erc20.library.Transfer.emit.Args", + "members": { + "from_": { + "cairo_type": "felt", + "offset": 0 + }, + "to": { + "cairo_type": "felt", + "offset": 1 + }, + "value": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs": { + "full_name": "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 1 + }, + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "openzeppelin.token.erc20.library.Transfer.emit.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "openzeppelin.token.erc20.library.Transfer.emit.SIZEOF_LOCALS": { + "type": "const", + "value": 2 + }, + "openzeppelin.token.erc20.library.Transfer.emit_event": { + "destination": "starkware.starknet.common.syscalls.emit_event", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Transfer.memcpy": { + "destination": "starkware.cairo.common.memcpy.memcpy", + "type": "alias" + }, + "openzeppelin.token.erc20.library.UINT8_MAX": { + "destination": "openzeppelin.utils.constants.library.UINT8_MAX", + "type": "alias" + }, + "openzeppelin.token.erc20.library.Uint256": { + "destination": "starkware.cairo.common.uint256.Uint256", + "type": "alias" + }, + "openzeppelin.token.erc20.library.assert_le": { + "destination": "starkware.cairo.common.math.assert_le", + "type": "alias" + }, + "openzeppelin.token.erc20.library.assert_not_zero": { + "destination": "starkware.cairo.common.math.assert_not_zero", + "type": "alias" + }, + "openzeppelin.token.erc20.library.get_caller_address": { + "destination": "starkware.starknet.common.syscalls.get_caller_address", + "type": "alias" + }, + "openzeppelin.token.erc20.library.uint256_check": { + "destination": "starkware.cairo.common.uint256.uint256_check", + "type": "alias" + }, + "openzeppelin.token.erc20.library.uint256_eq": { + "destination": "starkware.cairo.common.uint256.uint256_eq", + "type": "alias" + }, + "openzeppelin.token.erc20.library.uint256_not": { + "destination": "starkware.cairo.common.uint256.uint256_not", + "type": "alias" + }, + "openzeppelin.utils.constants.library.DEFAULT_ADMIN_ROLE": { + "type": "const", + "value": 0 + }, + "openzeppelin.utils.constants.library.IACCESSCONTROL_ID": { + "type": "const", + "value": 2036718347 + }, + "openzeppelin.utils.constants.library.IACCOUNT_ID": { + "type": "const", + "value": 2792084853 + }, + "openzeppelin.utils.constants.library.IERC1155_ID": { + "type": "const", + "value": 3652614694 + }, + "openzeppelin.utils.constants.library.IERC1155_METADATA_ID": { + "type": "const", + "value": 243872796 + }, + "openzeppelin.utils.constants.library.IERC1155_RECEIVER_ID": { + "type": "const", + "value": 1310921440 + }, + "openzeppelin.utils.constants.library.IERC165_ID": { + "type": "const", + "value": 33540519 + }, + "openzeppelin.utils.constants.library.IERC721_ENUMERABLE_ID": { + "type": "const", + "value": 2014223715 + }, + "openzeppelin.utils.constants.library.IERC721_ID": { + "type": "const", + "value": 2158778573 + }, + "openzeppelin.utils.constants.library.IERC721_METADATA_ID": { + "type": "const", + "value": 1532892063 + }, + "openzeppelin.utils.constants.library.IERC721_RECEIVER_ID": { + "type": "const", + "value": 353073666 + }, + "openzeppelin.utils.constants.library.INVALID_ID": { + "type": "const", + "value": 4294967295 + }, + "openzeppelin.utils.constants.library.ON_ERC1155_BATCH_RECEIVED_SELECTOR": { + "type": "const", + "value": 3155786881 + }, + "openzeppelin.utils.constants.library.ON_ERC1155_RECEIVED_SELECTOR": { + "type": "const", + "value": 4063915617 + }, + "openzeppelin.utils.constants.library.TRANSACTION_VERSION": { + "type": "const", + "value": 1 + }, + "openzeppelin.utils.constants.library.UINT8_MAX": { + "type": "const", + "value": 255 + }, + "starkware.cairo.common.alloc.alloc": { + "decorators": [], + "pc": 0, + "type": "function" + }, + "starkware.cairo.common.alloc.alloc.Args": { + "full_name": "starkware.cairo.common.alloc.alloc.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.cairo.common.alloc.alloc.ImplicitArgs": { + "full_name": "starkware.cairo.common.alloc.alloc.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.cairo.common.alloc.alloc.Return": { + "cairo_type": "(ptr: felt*)", + "type": "type_definition" + }, + "starkware.cairo.common.alloc.alloc.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.bitwise.ALL_ONES": { + "type": "const", + "value": -106710729501573572985208420194530329073740042555888586719234 + }, + "starkware.cairo.common.bitwise.BitwiseBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", + "type": "alias" + }, + "starkware.cairo.common.bool.FALSE": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.bool.TRUE": { + "type": "const", + "value": 1 + }, + "starkware.cairo.common.cairo_builtins.BitwiseBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", + "members": { + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "x_and_y": { + "cairo_type": "felt", + "offset": 2 + }, + "x_or_y": { + "cairo_type": "felt", + "offset": 4 + }, + "x_xor_y": { + "cairo_type": "felt", + "offset": 3 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.EcOpBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.EcOpBuiltin", + "members": { + "m": { + "cairo_type": "felt", + "offset": 4 + }, + "p": { + "cairo_type": "starkware.cairo.common.ec_point.EcPoint", + "offset": 0 + }, + "q": { + "cairo_type": "starkware.cairo.common.ec_point.EcPoint", + "offset": 2 + }, + "r": { + "cairo_type": "starkware.cairo.common.ec_point.EcPoint", + "offset": 5 + } + }, + "size": 7, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.EcPoint": { + "destination": "starkware.cairo.common.ec_point.EcPoint", + "type": "alias" + }, + "starkware.cairo.common.cairo_builtins.HashBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "members": { + "result": { + "cairo_type": "felt", + "offset": 2 + }, + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.KeccakBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.KeccakBuiltin", + "members": { + "input": { + "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "offset": 0 + }, + "output": { + "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "offset": 8 + } + }, + "size": 16, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.KeccakBuiltinState": { + "destination": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "type": "alias" + }, + "starkware.cairo.common.cairo_builtins.ModBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.ModBuiltin", + "members": { + "n": { + "cairo_type": "felt", + "offset": 6 + }, + "offsets_ptr": { + "cairo_type": "felt*", + "offset": 5 + }, + "p": { + "cairo_type": "starkware.cairo.common.cairo_builtins.UInt384", + "offset": 0 + }, + "values_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.UInt384*", + "offset": 4 + } + }, + "size": 7, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.PoseidonBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.PoseidonBuiltin", + "members": { + "input": { + "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "offset": 0 + }, + "output": { + "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "offset": 3 + } + }, + "size": 6, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.PoseidonBuiltinState": { + "destination": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "type": "alias" + }, + "starkware.cairo.common.cairo_builtins.SignatureBuiltin": { + "full_name": "starkware.cairo.common.cairo_builtins.SignatureBuiltin", + "members": { + "message": { + "cairo_type": "felt", + "offset": 1 + }, + "pub_key": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.cairo_builtins.UInt384": { + "full_name": "starkware.cairo.common.cairo_builtins.UInt384", + "members": { + "d0": { + "cairo_type": "felt", + "offset": 0 + }, + "d1": { + "cairo_type": "felt", + "offset": 1 + }, + "d2": { + "cairo_type": "felt", + "offset": 2 + }, + "d3": { + "cairo_type": "felt", + "offset": 3 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.dict_access.DictAccess": { + "full_name": "starkware.cairo.common.dict_access.DictAccess", + "members": { + "key": { + "cairo_type": "felt", + "offset": 0 + }, + "new_value": { + "cairo_type": "felt", + "offset": 2 + }, + "prev_value": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.cairo.common.ec_point.EcPoint": { + "full_name": "starkware.cairo.common.ec_point.EcPoint", + "members": { + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.hash.HashBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", + "type": "alias" + }, + "starkware.cairo.common.hash.hash2": { + "decorators": [], + "pc": 3, + "type": "function" + }, + "starkware.cairo.common.hash.hash2.Args": { + "full_name": "starkware.cairo.common.hash.hash2.Args", + "members": { + "x": { + "cairo_type": "felt", + "offset": 0 + }, + "y": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.hash.hash2.ImplicitArgs": { + "full_name": "starkware.cairo.common.hash.hash2.ImplicitArgs", + "members": { + "hash_ptr": { + "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.hash.hash2.Return": { + "cairo_type": "(result: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.hash.hash2.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.keccak_state.KeccakBuiltinState": { + "full_name": "starkware.cairo.common.keccak_state.KeccakBuiltinState", + "members": { + "s0": { + "cairo_type": "felt", + "offset": 0 + }, + "s1": { + "cairo_type": "felt", + "offset": 1 + }, + "s2": { + "cairo_type": "felt", + "offset": 2 + }, + "s3": { + "cairo_type": "felt", + "offset": 3 + }, + "s4": { + "cairo_type": "felt", + "offset": 4 + }, + "s5": { + "cairo_type": "felt", + "offset": 5 + }, + "s6": { + "cairo_type": "felt", + "offset": 6 + }, + "s7": { + "cairo_type": "felt", + "offset": 7 + } + }, + "size": 8, + "type": "struct" + }, + "starkware.cairo.common.math.FALSE": { + "destination": "starkware.cairo.common.bool.FALSE", + "type": "alias" + }, + "starkware.cairo.common.math.TRUE": { + "destination": "starkware.cairo.common.bool.TRUE", + "type": "alias" + }, + "starkware.cairo.common.math.assert_250_bit": { + "decorators": [ + "known_ap_change" + ], + "pc": 56, + "type": "function" + }, + "starkware.cairo.common.math.assert_250_bit.Args": { + "full_name": "starkware.cairo.common.math.assert_250_bit.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_250_bit.HIGH_BOUND": { + "type": "const", + "value": 5316911983139663491615228241121378304 + }, + "starkware.cairo.common.math.assert_250_bit.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_250_bit.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_250_bit.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_250_bit.SHIFT": { + "type": "const", + "value": 340282366920938463463374607431768211456 + }, + "starkware.cairo.common.math.assert_250_bit.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_250_bit.UPPER_BOUND": { + "type": "const", + "value": 1809251394333065553493296640760748560207343510400633813116524750123642650624 + }, + "starkware.cairo.common.math.assert_250_bit.high": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_250_bit.high", + "references": [ + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)] + 1, felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_250_bit.low": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_250_bit.low", + "references": [ + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)], felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_250_bit.value": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_250_bit.value", + "references": [ + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le": { + "decorators": [], + "pc": 51, + "type": "function" + }, + "starkware.cairo.common.math.assert_le.Args": { + "full_name": "starkware.cairo.common.math.assert_le.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + }, + "b": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_le_felt": { + "decorators": [ + "known_ap_change" + ], + "pc": 69, + "type": "function" + }, + "starkware.cairo.common.math.assert_le_felt.Args": { + "full_name": "starkware.cairo.common.math.assert_le_felt.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + }, + "b": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le_felt.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_le_felt.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_2_HIGH": { + "type": "const", + "value": 5316911983139663648412552867652567041 + }, + "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_3_HIGH": { + "type": "const", + "value": 3544607988759775765608368578435044694 + }, + "starkware.cairo.common.math.assert_le_felt.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_le_felt.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_le_felt.a": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_le_felt.a", + "references": [ + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-4), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le_felt.b": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_le_felt.b", + "references": [ + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le_felt.range_check_ptr": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_le_felt.range_check_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-5), felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 8 + }, + "pc": 79, + "value": "cast([fp + (-5)] + 4, felt)" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_le_felt.skip_exclude_a": { + "pc": 93, + "type": "label" + }, + "starkware.cairo.common.math.assert_le_felt.skip_exclude_b_minus_a": { + "pc": 105, + "type": "label" + }, + "starkware.cairo.common.math.assert_nn": { + "decorators": [], + "pc": 47, + "type": "function" + }, + "starkware.cairo.common.math.assert_nn.Args": { + "full_name": "starkware.cairo.common.math.assert_nn.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_nn.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_nn.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_nn.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_nn.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_nn.a": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_nn.a", + "references": [ + { + "ap_tracking_data": { + "group": 7, + "offset": 0 + }, + "pc": 47, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math.assert_not_zero": { + "decorators": [], + "pc": 42, + "type": "function" + }, + "starkware.cairo.common.math.assert_not_zero.Args": { + "full_name": "starkware.cairo.common.math.assert_not_zero.Args", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math.assert_not_zero.ImplicitArgs": { + "full_name": "starkware.cairo.common.math.assert_not_zero.ImplicitArgs", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.cairo.common.math.assert_not_zero.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.math.assert_not_zero.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math.assert_not_zero.value": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math.assert_not_zero.value", + "references": [ + { + "ap_tracking_data": { + "group": 6, + "offset": 0 + }, + "pc": 42, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math_cmp.RC_BOUND": { + "type": "const", + "value": 340282366920938463463374607431768211456 + }, + "starkware.cairo.common.math_cmp.assert_le_felt": { + "destination": "starkware.cairo.common.math.assert_le_felt", + "type": "alias" + }, + "starkware.cairo.common.math_cmp.assert_lt_felt": { + "destination": "starkware.cairo.common.math.assert_lt_felt", + "type": "alias" + }, + "starkware.cairo.common.math_cmp.is_le": { + "decorators": [ + "known_ap_change" + ], + "pc": 187, + "type": "function" + }, + "starkware.cairo.common.math_cmp.is_le.Args": { + "full_name": "starkware.cairo.common.math_cmp.is_le.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + }, + "b": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_le.ImplicitArgs": { + "full_name": "starkware.cairo.common.math_cmp.is_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_le.Return": { + "cairo_type": "felt", + "type": "type_definition" + }, + "starkware.cairo.common.math_cmp.is_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math_cmp.is_nn": { + "decorators": [ + "known_ap_change" + ], + "pc": 154, + "type": "function" + }, + "starkware.cairo.common.math_cmp.is_nn.Args": { + "full_name": "starkware.cairo.common.math_cmp.is_nn.Args", + "members": { + "a": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs": { + "full_name": "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.math_cmp.is_nn.Return": { + "cairo_type": "felt", + "type": "type_definition" + }, + "starkware.cairo.common.math_cmp.is_nn.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.math_cmp.is_nn.a": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.math_cmp.is_nn.a", + "references": [ + { + "ap_tracking_data": { + "group": 12, + "offset": 0 + }, + "pc": 154, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.math_cmp.is_nn.need_felt_comparison": { + "pc": 178, + "type": "label" + }, + "starkware.cairo.common.math_cmp.is_nn.out_of_range": { + "pc": 164, + "type": "label" + }, + "starkware.cairo.common.poseidon_state.PoseidonBuiltinState": { + "full_name": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", + "members": { + "s0": { + "cairo_type": "felt", + "offset": 0 + }, + "s1": { + "cairo_type": "felt", + "offset": 1 + }, + "s2": { + "cairo_type": "felt", + "offset": 2 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.cairo.common.pow.assert_le": { + "destination": "starkware.cairo.common.math.assert_le", + "type": "alias" + }, + "starkware.cairo.common.pow.get_ap": { + "destination": "starkware.cairo.common.registers.get_ap", + "type": "alias" + }, + "starkware.cairo.common.pow.get_fp_and_pc": { + "destination": "starkware.cairo.common.registers.get_fp_and_pc", + "type": "alias" + }, + "starkware.cairo.common.pow.sign": { + "destination": "starkware.cairo.common.math.sign", + "type": "alias" + }, + "starkware.cairo.common.registers.get_ap": { + "destination": "starkware.cairo.lang.compiler.lib.registers.get_ap", + "type": "alias" + }, + "starkware.cairo.common.registers.get_fp_and_pc": { + "destination": "starkware.cairo.lang.compiler.lib.registers.get_fp_and_pc", + "type": "alias" + }, + "starkware.cairo.common.uint256.ALL_ONES": { + "type": "const", + "value": 340282366920938463463374607431768211455 + }, + "starkware.cairo.common.uint256.BitwiseBuiltin": { + "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", + "type": "alias" + }, + "starkware.cairo.common.uint256.HALF_SHIFT": { + "type": "const", + "value": 18446744073709551616 + }, + "starkware.cairo.common.uint256.SHIFT": { + "type": "const", + "value": 340282366920938463463374607431768211456 + }, + "starkware.cairo.common.uint256.Uint256": { + "full_name": "starkware.cairo.common.uint256.Uint256", + "members": { + "high": { + "cairo_type": "felt", + "offset": 1 + }, + "low": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.assert_in_range": { + "destination": "starkware.cairo.common.math.assert_in_range", + "type": "alias" + }, + "starkware.cairo.common.uint256.assert_le": { + "destination": "starkware.cairo.common.math.assert_le", + "type": "alias" + }, + "starkware.cairo.common.uint256.assert_nn_le": { + "destination": "starkware.cairo.common.math.assert_nn_le", + "type": "alias" + }, + "starkware.cairo.common.uint256.assert_not_zero": { + "destination": "starkware.cairo.common.math.assert_not_zero", + "type": "alias" + }, + "starkware.cairo.common.uint256.bitwise_and": { + "destination": "starkware.cairo.common.bitwise.bitwise_and", + "type": "alias" + }, + "starkware.cairo.common.uint256.bitwise_or": { + "destination": "starkware.cairo.common.bitwise.bitwise_or", + "type": "alias" + }, + "starkware.cairo.common.uint256.bitwise_xor": { + "destination": "starkware.cairo.common.bitwise.bitwise_xor", + "type": "alias" + }, + "starkware.cairo.common.uint256.get_ap": { + "destination": "starkware.cairo.common.registers.get_ap", + "type": "alias" + }, + "starkware.cairo.common.uint256.get_fp_and_pc": { + "destination": "starkware.cairo.common.registers.get_fp_and_pc", + "type": "alias" + }, + "starkware.cairo.common.uint256.is_le": { + "destination": "starkware.cairo.common.math_cmp.is_le", + "type": "alias" + }, + "starkware.cairo.common.uint256.pow": { + "destination": "starkware.cairo.common.pow.pow", + "type": "alias" + }, + "starkware.cairo.common.uint256.split_felt": { + "destination": "starkware.cairo.common.math.split_felt", + "type": "alias" + }, + "starkware.cairo.common.uint256.uint256_add": { + "decorators": [], + "pc": 197, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_add.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_add.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_add.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_add.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_add.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256, carry: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_add.SIZEOF_LOCALS": { + "type": "const", + "value": 4 + }, + "starkware.cairo.common.uint256.uint256_add.a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "full_name": "starkware.cairo.common.uint256.uint256_add.a", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_add.b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "full_name": "starkware.cairo.common.uint256.uint256_add.b", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_add.carry_high": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.uint256.uint256_add.carry_high", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 3, felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_add.carry_low": { + "cairo_type": "felt", + "full_name": "starkware.cairo.common.uint256.uint256_add.carry_low", + "references": [ + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 2, felt*)]" + } + ], + "type": "reference" + }, + "starkware.cairo.common.uint256.uint256_check": { + "decorators": [], + "pc": 192, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_check.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_check.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_check.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_check.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_check.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_check.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_eq": { + "decorators": [], + "pc": 287, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_eq.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_eq.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_eq.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_eq.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_le": { + "decorators": [], + "pc": 236, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_le.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_le.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_le.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_le.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_le.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_le.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_lt": { + "decorators": [], + "pc": 219, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_lt.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_lt.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_lt.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_lt.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_neg": { + "decorators": [], + "pc": 256, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_neg.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_neg.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_neg.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_neg.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_not": { + "decorators": [], + "pc": 248, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_not.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_not.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_not.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_not.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_not.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_not.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.cairo.common.uint256.uint256_sub": { + "decorators": [], + "pc": 271, + "type": "function" + }, + "starkware.cairo.common.uint256.uint256_sub.Args": { + "full_name": "starkware.cairo.common.uint256.uint256_sub.Args", + "members": { + "a": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 0 + }, + "b": { + "cairo_type": "starkware.cairo.common.uint256.Uint256", + "offset": 2 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs": { + "full_name": "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.cairo.common.uint256.uint256_sub.Return": { + "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", + "type": "type_definition" + }, + "starkware.cairo.common.uint256.uint256_sub.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.storage.ADDR_BOUND": { + "type": "const", + "value": -106710729501573572985208420194530329073740042555888586719489 + }, + "starkware.starknet.common.storage.MAX_STORAGE_ITEM_SIZE": { + "type": "const", + "value": 256 + }, + "starkware.starknet.common.storage.assert_250_bit": { + "destination": "starkware.cairo.common.math.assert_250_bit", + "type": "alias" + }, + "starkware.starknet.common.storage.normalize_address": { + "decorators": [ + "known_ap_change" + ], + "pc": 114, + "type": "function" + }, + "starkware.starknet.common.storage.normalize_address.Args": { + "full_name": "starkware.starknet.common.storage.normalize_address.Args", + "members": { + "addr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.storage.normalize_address.ImplicitArgs": { + "full_name": "starkware.starknet.common.storage.normalize_address.ImplicitArgs", + "members": { + "range_check_ptr": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.storage.normalize_address.Return": { + "cairo_type": "(res: felt)", + "type": "type_definition" + }, + "starkware.starknet.common.storage.normalize_address.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.storage.normalize_address.addr": { + "cairo_type": "felt", + "full_name": "starkware.starknet.common.storage.normalize_address.addr", + "references": [ + { + "ap_tracking_data": { + "group": 11, + "offset": 0 + }, + "pc": 114, + "value": "[cast(fp + (-3), felt*)]" + } + ], + "type": "reference" + }, + "starkware.starknet.common.storage.normalize_address.is_250": { + "cairo_type": "felt", + "full_name": "starkware.starknet.common.storage.normalize_address.is_250", + "references": [ + { + "ap_tracking_data": { + "group": 11, + "offset": 2 + }, + "pc": 134, + "value": "[cast(ap + (-1), felt*)]" + } + ], + "type": "reference" + }, + "starkware.starknet.common.storage.normalize_address.is_small": { + "cairo_type": "felt", + "full_name": "starkware.starknet.common.storage.normalize_address.is_small", + "references": [ + { + "ap_tracking_data": { + "group": 11, + "offset": 1 + }, + "pc": 116, + "value": "[cast(ap + (-1), felt*)]" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.CALL_CONTRACT_SELECTOR": { + "type": "const", + "value": 20853273475220472486191784820 + }, + "starkware.starknet.common.syscalls.CallContract": { + "full_name": "starkware.starknet.common.syscalls.CallContract", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.CallContractRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", + "offset": 5 + } + }, + "size": 7, + "type": "struct" + }, + "starkware.starknet.common.syscalls.CallContractRequest": { + "full_name": "starkware.starknet.common.syscalls.CallContractRequest", + "members": { + "calldata": { + "cairo_type": "felt*", + "offset": 4 + }, + "calldata_size": { + "cairo_type": "felt", + "offset": 3 + }, + "contract_address": { + "cairo_type": "felt", + "offset": 1 + }, + "function_selector": { + "cairo_type": "felt", + "offset": 2 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.starknet.common.syscalls.CallContractResponse": { + "full_name": "starkware.starknet.common.syscalls.CallContractResponse", + "members": { + "retdata": { + "cairo_type": "felt*", + "offset": 1 + }, + "retdata_size": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DELEGATE_CALL_SELECTOR": { + "type": "const", + "value": 21167594061783206823196716140 + }, + "starkware.starknet.common.syscalls.DELEGATE_L1_HANDLER_SELECTOR": { + "type": "const", + "value": 23274015802972845247556842986379118667122 + }, + "starkware.starknet.common.syscalls.DEPLOY_SELECTOR": { + "type": "const", + "value": 75202468540281 + }, + "starkware.starknet.common.syscalls.Deploy": { + "full_name": "starkware.starknet.common.syscalls.Deploy", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.DeployRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.DeployResponse", + "offset": 6 + } + }, + "size": 9, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DeployRequest": { + "full_name": "starkware.starknet.common.syscalls.DeployRequest", + "members": { + "class_hash": { + "cairo_type": "felt", + "offset": 1 + }, + "constructor_calldata": { + "cairo_type": "felt*", + "offset": 4 + }, + "constructor_calldata_size": { + "cairo_type": "felt", + "offset": 3 + }, + "contract_address_salt": { + "cairo_type": "felt", + "offset": 2 + }, + "deploy_from_zero": { + "cairo_type": "felt", + "offset": 5 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 6, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DeployResponse": { + "full_name": "starkware.starknet.common.syscalls.DeployResponse", + "members": { + "constructor_retdata": { + "cairo_type": "felt*", + "offset": 2 + }, + "constructor_retdata_size": { + "cairo_type": "felt", + "offset": 1 + }, + "contract_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.DictAccess": { + "destination": "starkware.cairo.common.dict_access.DictAccess", + "type": "alias" + }, + "starkware.starknet.common.syscalls.EMIT_EVENT_SELECTOR": { + "type": "const", + "value": 1280709301550335749748 + }, + "starkware.starknet.common.syscalls.EmitEvent": { + "full_name": "starkware.starknet.common.syscalls.EmitEvent", + "members": { + "data": { + "cairo_type": "felt*", + "offset": 4 + }, + "data_len": { + "cairo_type": "felt", + "offset": 3 + }, + "keys": { + "cairo_type": "felt*", + "offset": 2 + }, + "keys_len": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GET_BLOCK_NUMBER_SELECTOR": { + "type": "const", + "value": 1448089106835523001438702345020786 + }, + "starkware.starknet.common.syscalls.GET_BLOCK_TIMESTAMP_SELECTOR": { + "type": "const", + "value": 24294903732626645868215235778792757751152 + }, + "starkware.starknet.common.syscalls.GET_CALLER_ADDRESS_SELECTOR": { + "type": "const", + "value": 94901967781393078444254803017658102643 + }, + "starkware.starknet.common.syscalls.GET_CONTRACT_ADDRESS_SELECTOR": { + "type": "const", + "value": 6219495360805491471215297013070624192820083 + }, + "starkware.starknet.common.syscalls.GET_SEQUENCER_ADDRESS_SELECTOR": { + "type": "const", + "value": 1592190833581991703053805829594610833820054387 + }, + "starkware.starknet.common.syscalls.GET_TX_INFO_SELECTOR": { + "type": "const", + "value": 1317029390204112103023 + }, + "starkware.starknet.common.syscalls.GET_TX_SIGNATURE_SELECTOR": { + "type": "const", + "value": 1448089128652340074717162277007973 + }, + "starkware.starknet.common.syscalls.GetBlockNumber": { + "full_name": "starkware.starknet.common.syscalls.GetBlockNumber", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockNumberRequest": { + "full_name": "starkware.starknet.common.syscalls.GetBlockNumberRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockNumberResponse": { + "full_name": "starkware.starknet.common.syscalls.GetBlockNumberResponse", + "members": { + "block_number": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockTimestamp": { + "full_name": "starkware.starknet.common.syscalls.GetBlockTimestamp", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockTimestampRequest": { + "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetBlockTimestampResponse": { + "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", + "members": { + "block_timestamp": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetCallerAddress": { + "full_name": "starkware.starknet.common.syscalls.GetCallerAddress", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetCallerAddressRequest": { + "full_name": "starkware.starknet.common.syscalls.GetCallerAddressRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetCallerAddressResponse": { + "full_name": "starkware.starknet.common.syscalls.GetCallerAddressResponse", + "members": { + "caller_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetContractAddress": { + "full_name": "starkware.starknet.common.syscalls.GetContractAddress", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetContractAddressRequest": { + "full_name": "starkware.starknet.common.syscalls.GetContractAddressRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetContractAddressResponse": { + "full_name": "starkware.starknet.common.syscalls.GetContractAddressResponse", + "members": { + "contract_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetSequencerAddress": { + "full_name": "starkware.starknet.common.syscalls.GetSequencerAddress", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetSequencerAddressRequest": { + "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetSequencerAddressResponse": { + "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", + "members": { + "sequencer_address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxInfo": { + "full_name": "starkware.starknet.common.syscalls.GetTxInfo", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoResponse", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxInfoRequest": { + "full_name": "starkware.starknet.common.syscalls.GetTxInfoRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxInfoResponse": { + "full_name": "starkware.starknet.common.syscalls.GetTxInfoResponse", + "members": { + "tx_info": { + "cairo_type": "starkware.starknet.common.syscalls.TxInfo*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxSignature": { + "full_name": "starkware.starknet.common.syscalls.GetTxSignature", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureResponse", + "offset": 1 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxSignatureRequest": { + "full_name": "starkware.starknet.common.syscalls.GetTxSignatureRequest", + "members": { + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.GetTxSignatureResponse": { + "full_name": "starkware.starknet.common.syscalls.GetTxSignatureResponse", + "members": { + "signature": { + "cairo_type": "felt*", + "offset": 1 + }, + "signature_len": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.LIBRARY_CALL_L1_HANDLER_SELECTOR": { + "type": "const", + "value": 436233452754198157705746250789557519228244616562 + }, + "starkware.starknet.common.syscalls.LIBRARY_CALL_SELECTOR": { + "type": "const", + "value": 92376026794327011772951660 + }, + "starkware.starknet.common.syscalls.LibraryCall": { + "full_name": "starkware.starknet.common.syscalls.LibraryCall", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.LibraryCallRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", + "offset": 5 + } + }, + "size": 7, + "type": "struct" + }, + "starkware.starknet.common.syscalls.LibraryCallRequest": { + "full_name": "starkware.starknet.common.syscalls.LibraryCallRequest", + "members": { + "calldata": { + "cairo_type": "felt*", + "offset": 4 + }, + "calldata_size": { + "cairo_type": "felt", + "offset": 3 + }, + "class_hash": { + "cairo_type": "felt", + "offset": 1 + }, + "function_selector": { + "cairo_type": "felt", + "offset": 2 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 5, + "type": "struct" + }, + "starkware.starknet.common.syscalls.REPLACE_CLASS_SELECTOR": { + "type": "const", + "value": 25500403217443378527601783667 + }, + "starkware.starknet.common.syscalls.ReplaceClass": { + "full_name": "starkware.starknet.common.syscalls.ReplaceClass", + "members": { + "class_hash": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.SEND_MESSAGE_TO_L1_SELECTOR": { + "type": "const", + "value": 433017908768303439907196859243777073 + }, + "starkware.starknet.common.syscalls.STORAGE_READ_SELECTOR": { + "type": "const", + "value": 100890693370601760042082660 + }, + "starkware.starknet.common.syscalls.STORAGE_WRITE_SELECTOR": { + "type": "const", + "value": 25828017502874050592466629733 + }, + "starkware.starknet.common.syscalls.SendMessageToL1SysCall": { + "full_name": "starkware.starknet.common.syscalls.SendMessageToL1SysCall", + "members": { + "payload_ptr": { + "cairo_type": "felt*", + "offset": 3 + }, + "payload_size": { + "cairo_type": "felt", + "offset": 2 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + }, + "to_address": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageRead": { + "full_name": "starkware.starknet.common.syscalls.StorageRead", + "members": { + "request": { + "cairo_type": "starkware.starknet.common.syscalls.StorageReadRequest", + "offset": 0 + }, + "response": { + "cairo_type": "starkware.starknet.common.syscalls.StorageReadResponse", + "offset": 2 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageReadRequest": { + "full_name": "starkware.starknet.common.syscalls.StorageReadRequest", + "members": { + "address": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageReadResponse": { + "full_name": "starkware.starknet.common.syscalls.StorageReadResponse", + "members": { + "value": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.StorageWrite": { + "full_name": "starkware.starknet.common.syscalls.StorageWrite", + "members": { + "address": { + "cairo_type": "felt", + "offset": 1 + }, + "selector": { + "cairo_type": "felt", + "offset": 0 + }, + "value": { + "cairo_type": "felt", + "offset": 2 + } + }, + "size": 3, + "type": "struct" + }, + "starkware.starknet.common.syscalls.TxInfo": { + "full_name": "starkware.starknet.common.syscalls.TxInfo", + "members": { + "account_contract_address": { + "cairo_type": "felt", + "offset": 1 + }, + "chain_id": { + "cairo_type": "felt", + "offset": 6 + }, + "max_fee": { + "cairo_type": "felt", + "offset": 2 + }, + "nonce": { + "cairo_type": "felt", + "offset": 7 + }, + "signature": { + "cairo_type": "felt*", + "offset": 4 + }, + "signature_len": { + "cairo_type": "felt", + "offset": 3 + }, + "transaction_hash": { + "cairo_type": "felt", + "offset": 5 + }, + "version": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 8, + "type": "struct" + }, + "starkware.starknet.common.syscalls.emit_event": { + "decorators": [], + "pc": 32, + "type": "function" + }, + "starkware.starknet.common.syscalls.emit_event.Args": { + "full_name": "starkware.starknet.common.syscalls.emit_event.Args", + "members": { + "data": { + "cairo_type": "felt*", + "offset": 3 + }, + "data_len": { + "cairo_type": "felt", + "offset": 2 + }, + "keys": { + "cairo_type": "felt*", + "offset": 1 + }, + "keys_len": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 4, + "type": "struct" + }, + "starkware.starknet.common.syscalls.emit_event.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.emit_event.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.emit_event.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.emit_event.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.emit_event.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.emit_event.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 5, + "offset": 0 + }, + "pc": 32, + "value": "[cast(fp + (-7), felt**)]" + }, + { + "ap_tracking_data": { + "group": 5, + "offset": 1 + }, + "pc": 39, + "value": "cast([fp + (-7)] + 5, felt*)" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.get_caller_address": { + "decorators": [], + "pc": 9, + "type": "function" + }, + "starkware.starknet.common.syscalls.get_caller_address.Args": { + "full_name": "starkware.starknet.common.syscalls.get_caller_address.Args", + "members": {}, + "size": 0, + "type": "struct" + }, + "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.get_caller_address.Return": { + "cairo_type": "(caller_address: felt)", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.get_caller_address.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 2, + "offset": 0 + }, + "pc": 9, + "value": "[cast(fp + (-3), felt**)]" + }, + { + "ap_tracking_data": { + "group": 2, + "offset": 1 + }, + "pc": 12, + "value": "cast([fp + (-3)] + 2, felt*)" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.storage_read": { + "decorators": [], + "pc": 16, + "type": "function" + }, + "starkware.starknet.common.syscalls.storage_read.Args": { + "full_name": "starkware.starknet.common.syscalls.storage_read.Args", + "members": { + "address": { + "cairo_type": "felt", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_read.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.storage_read.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_read.Return": { + "cairo_type": "(value: felt)", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.storage_read.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.storage_read.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.storage_read.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 3, + "offset": 0 + }, + "pc": 16, + "value": "[cast(fp + (-4), felt**)]" + }, + { + "ap_tracking_data": { + "group": 3, + "offset": 1 + }, + "pc": 20, + "value": "cast([fp + (-4)] + 3, felt*)" + } + ], + "type": "reference" + }, + "starkware.starknet.common.syscalls.storage_write": { + "decorators": [], + "pc": 24, + "type": "function" + }, + "starkware.starknet.common.syscalls.storage_write.Args": { + "full_name": "starkware.starknet.common.syscalls.storage_write.Args", + "members": { + "address": { + "cairo_type": "felt", + "offset": 0 + }, + "value": { + "cairo_type": "felt", + "offset": 1 + } + }, + "size": 2, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_write.ImplicitArgs": { + "full_name": "starkware.starknet.common.syscalls.storage_write.ImplicitArgs", + "members": { + "syscall_ptr": { + "cairo_type": "felt*", + "offset": 0 + } + }, + "size": 1, + "type": "struct" + }, + "starkware.starknet.common.syscalls.storage_write.Return": { + "cairo_type": "()", + "type": "type_definition" + }, + "starkware.starknet.common.syscalls.storage_write.SIZEOF_LOCALS": { + "type": "const", + "value": 0 + }, + "starkware.starknet.common.syscalls.storage_write.syscall_ptr": { + "cairo_type": "felt*", + "full_name": "starkware.starknet.common.syscalls.storage_write.syscall_ptr", + "references": [ + { + "ap_tracking_data": { + "group": 4, + "offset": 0 + }, + "pc": 24, + "value": "[cast(fp + (-5), felt**)]" + }, + { + "ap_tracking_data": { + "group": 4, + "offset": 1 + }, + "pc": 29, + "value": "cast([fp + (-5)] + 3, felt*)" + } + ], + "type": "reference" + } + }, + "main_scope": "__main__", + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "reference_manager": { + "references": [ + { + "ap_tracking_data": { + "group": 2, + "offset": 0 + }, + "pc": 9, + "value": "[cast(fp + (-3), felt**)]" + }, + { + "ap_tracking_data": { + "group": 3, + "offset": 0 + }, + "pc": 16, + "value": "[cast(fp + (-4), felt**)]" + }, + { + "ap_tracking_data": { + "group": 4, + "offset": 0 + }, + "pc": 24, + "value": "[cast(fp + (-5), felt**)]" + }, + { + "ap_tracking_data": { + "group": 5, + "offset": 0 + }, + "pc": 32, + "value": "[cast(fp + (-7), felt**)]" + }, + { + "ap_tracking_data": { + "group": 6, + "offset": 0 + }, + "pc": 42, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 7, + "offset": 0 + }, + "pc": 47, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)], felt*)]" + }, + { + "ap_tracking_data": { + "group": 9, + "offset": 0 + }, + "pc": 56, + "value": "[cast([fp + (-4)] + 1, felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-4), felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 10, + "offset": 0 + }, + "pc": 69, + "value": "[cast(fp + (-5), felt*)]" + }, + { + "ap_tracking_data": { + "group": 11, + "offset": 0 + }, + "pc": 114, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 11, + "offset": 1 + }, + "pc": 116, + "value": "[cast(ap + (-1), felt*)]" + }, + { + "ap_tracking_data": { + "group": 11, + "offset": 2 + }, + "pc": 134, + "value": "[cast(ap + (-1), felt*)]" + }, + { + "ap_tracking_data": { + "group": 12, + "offset": 0 + }, + "pc": 154, + "value": "[cast(fp + (-3), felt*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 0 + }, + "pc": 197, + "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 2, felt*)]" + }, + { + "ap_tracking_data": { + "group": 15, + "offset": 4 + }, + "pc": 199, + "value": "[cast(fp + 3, felt*)]" + } + ] + } + } +} diff --git a/crates/katana/contracts/compiled/test.json b/crates/katana/contracts/build/test.json similarity index 100% rename from crates/katana/contracts/compiled/test.json rename to crates/katana/contracts/build/test.json diff --git a/crates/katana/contracts/compiled/universal_deployer.json b/crates/katana/contracts/build/universal_deployer.json similarity index 100% rename from crates/katana/contracts/compiled/universal_deployer.json rename to crates/katana/contracts/build/universal_deployer.json diff --git a/crates/katana/contracts/compiled/erc20.json b/crates/katana/contracts/compiled/erc20.json deleted file mode 100644 index 93a0acf3ce..0000000000 --- a/crates/katana/contracts/compiled/erc20.json +++ /dev/null @@ -1,48343 +0,0 @@ -{ - "abi": [ - { - "members": [ - { - "name": "low", - "offset": 0, - "type": "felt" - }, - { - "name": "high", - "offset": 1, - "type": "felt" - } - ], - "name": "Uint256", - "size": 2, - "type": "struct" - }, - { - "data": [ - { - "name": "from_", - "type": "felt" - }, - { - "name": "to", - "type": "felt" - }, - { - "name": "value", - "type": "Uint256" - } - ], - "keys": [], - "name": "Transfer", - "type": "event" - }, - { - "data": [ - { - "name": "owner", - "type": "felt" - }, - { - "name": "spender", - "type": "felt" - }, - { - "name": "value", - "type": "Uint256" - } - ], - "keys": [], - "name": "Approval", - "type": "event" - }, - { - "inputs": [ - { - "name": "name", - "type": "felt" - }, - { - "name": "symbol", - "type": "felt" - }, - { - "name": "decimals", - "type": "felt" - }, - { - "name": "initial_supply", - "type": "Uint256" - }, - { - "name": "recipient", - "type": "felt" - } - ], - "name": "constructor", - "outputs": [], - "type": "constructor" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "name", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "symbol", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "totalSupply", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "decimals", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "account", - "type": "felt" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "owner", - "type": "felt" - }, - { - "name": "spender", - "type": "felt" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "recipient", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "sender", - "type": "felt" - }, - { - "name": "recipient", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "added_value", - "type": "Uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "subtracted_value", - "type": "Uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - } - ], - "entry_points_by_type": { - "CONSTRUCTOR": [ - { - "offset": 1040, - "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194" - } - ], - "EXTERNAL": [ - { - "offset": 1313, - "selector": "0x41b033f4a31df8067c24d1e9b550a2ce75fd4a29e1147af9752174f0e6cb20" - }, - { - "offset": 1169, - "selector": "0x4c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9" - }, - { - "offset": 1139, - "selector": "0x80aa9fdbfaf9615e4afc7f5f722e265daca5ccc655360fa5ccacf9c267936d" - }, - { - "offset": 1274, - "selector": "0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e" - }, - { - "offset": 1390, - "selector": "0x16cc063b8338363cf388ce7fe1df408bf10f16cd51635d392e21d852fafb683" - }, - { - "offset": 1428, - "selector": "0x1aaf3e6107dd1349c81543ff4221a326814f77dadcc5810807b74f1a49ded4e" - }, - { - "offset": 1237, - "selector": "0x1e888a1026b19c8c0b57c72d63ed1737106aa10034105b980ba117bd0c29fe1" - }, - { - "offset": 1108, - "selector": "0x216b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4" - }, - { - "offset": 1352, - "selector": "0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c" - }, - { - "offset": 1201, - "selector": "0x2e4263afad30923c891518314c3c95dbe830a16874e8abc5777a9a20b54c76e" - }, - { - "offset": 1078, - "selector": "0x361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60" - } - ], - "L1_HANDLER": [] - }, - "program": { - "attributes": [ - { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "end_pc": 326, - "flow_tracking_data": { - "ap_tracking": { - "group": 22, - "offset": 35 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 324, - "value": "SafeUint256: addition overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "end_pc": 349, - "flow_tracking_data": { - "ap_tracking": { - "group": 23, - "offset": 60 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 347, - "value": "SafeUint256: subtraction overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "end_pc": 665, - "flow_tracking_data": { - "ap_tracking": { - "group": 44, - "offset": 41 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 660, - "value": "ERC20: decimals exceed 2^8" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "end_pc": 752, - "flow_tracking_data": { - "ap_tracking": { - "group": 56, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 747, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "end_pc": 772, - "flow_tracking_data": { - "ap_tracking": { - "group": 58, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error", - "start_pc": 767, - "value": "ERC20: added_value is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "end_pc": 786, - "flow_tracking_data": { - "ap_tracking": { - "group": 58, - "offset": 88 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 782, - "value": "ERC20: allowance overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "end_pc": 805, - "flow_tracking_data": { - "ap_tracking": { - "group": 60, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 800, - "value": "ERC20: subtracted_value is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "end_pc": 819, - "flow_tracking_data": { - "ap_tracking": { - "group": 60, - "offset": 88 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 815, - "value": "ERC20: allowance below zero" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "end_pc": 836, - "flow_tracking_data": { - "ap_tracking": { - "group": 62, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 831, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "end_pc": 839, - "flow_tracking_data": { - "ap_tracking": { - "group": 62, - "offset": 6 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 836, - "value": "ERC20: cannot mint to the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "end_pc": 848, - "flow_tracking_data": { - "ap_tracking": { - "group": 62, - "offset": 40 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 844, - "value": "ERC20: mint overflow" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 888, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 883, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 891, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 6 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 888, - "value": "ERC20: cannot transfer from the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 894, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 9 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 891, - "value": "ERC20: cannot transfer to the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "end_pc": 904, - "flow_tracking_data": { - "ap_tracking": { - "group": 63, - "offset": 81 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 900, - "value": "ERC20: transfer amount exceeds balance" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "end_pc": 944, - "flow_tracking_data": { - "ap_tracking": { - "group": 64, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 939, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "end_pc": 947, - "flow_tracking_data": { - "ap_tracking": { - "group": 64, - "offset": 6 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 944, - "value": "ERC20: cannot approve from the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "end_pc": 950, - "flow_tracking_data": { - "ap_tracking": { - "group": 64, - "offset": 9 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 947, - "value": "ERC20: cannot approve to the zero address" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "end_pc": 978, - "flow_tracking_data": { - "ap_tracking": { - "group": 65, - "offset": 4 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 973, - "value": "ERC20: amount is not a valid Uint256" - }, - { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "end_pc": 1012, - "flow_tracking_data": { - "ap_tracking": { - "group": 66, - "offset": 0 - }, - "reference_ids": {} - }, - "name": "error_message", - "start_pc": 1005, - "value": "ERC20: insufficient allowance" - } - ], - "builtins": ["pedersen", "range_check"], - "compiler_version": "0.11.0.2", - "data": [ - "0x40780017fff7fff", - "0x1", - "0x208b7fff7fff7ffe", - "0x400380007ffb7ffc", - "0x400380017ffb7ffd", - "0x482680017ffb8000", - "0x3", - "0x480280027ffb8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x47657443616c6c657241646472657373", - "0x400280007ffd7fff", - "0x482680017ffd8000", - "0x2", - "0x480280017ffd8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x53746f7261676552656164", - "0x400280007ffc7fff", - "0x400380017ffc7ffd", - "0x482680017ffc8000", - "0x3", - "0x480280027ffc8000", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x53746f726167655772697465", - "0x400280007ffb7fff", - "0x400380017ffb7ffc", - "0x400380027ffb7ffd", - "0x482680017ffb8000", - "0x3", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x456d69744576656e74", - "0x400280007ff97fff", - "0x400380017ff97ffa", - "0x400380027ff97ffb", - "0x400380037ff97ffc", - "0x400380047ff97ffd", - "0x482680017ff98000", - "0x5", - "0x208b7fff7fff7ffe", - "0x20780017fff7ffd", - "0x4", - "0x400780017fff7ffd", - "0x1", - "0x208b7fff7fff7ffe", - "0x400380007ffc7ffd", - "0x482680017ffc8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x48297ffc80007ffd", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x3ffffffffffffffffffffffffffffff", - "0x480280017ffc8000", - "0x48307fff80007ffe", - "0x400280027ffc7fff", - "0x480280017ffc8000", - "0x484480017fff8000", - "0x100000000000000000000000000000000", - "0x480280007ffc8000", - "0x40317fff7ffe7ffd", - "0x482680017ffc8000", - "0x3", - "0x208b7fff7fff7ffe", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x484480017fff8000", - "0x2aaaaaaaaaaaab05555555555555556", - "0x48307fff7ffd8000", - "0x480280027ffb8000", - "0x480280037ffb8000", - "0x484480017fff8000", - "0x4000000000000088000000000000001", - "0x48307fff7ffd8000", - "0xa0680017fff8000", - "0xe", - "0x480680017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x48287ffc80007fff", - "0x40307ffc7ff87fff", - "0x48297ffd80007ffc", - "0x482680017ffd8000", - "0x1", - "0x48507fff7ffe8000", - "0x40507ff97ff57fff", - "0x482680017ffb8000", - "0x4", - "0x208b7fff7fff7ffe", - "0xa0680017fff8000", - "0xc", - "0x480680017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x48287ffd80007fff", - "0x48327fff7ffc8000", - "0x40307ffa7ff67fff", - "0x48527ffe7ffc8000", - "0x40507ff97ff57fff", - "0x482680017ffb8000", - "0x4", - "0x208b7fff7fff7ffe", - "0x40317ffd7ff97ffd", - "0x48297ffc80007ffd", - "0x48527fff7ffc8000", - "0x40507ffb7ff77fff", - "0x40780017fff7fff", - "0x2", - "0x482680017ffb8000", - "0x4", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x20680017fff7fff", - "0x10", - "0x480a7ffc7fff8000", - "0x482680017ffd8000", - "0x11000000000000000000000000000000000000000000000101", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc0", - "0x480680017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x48127ffe7fff8000", - "0x48287ffd80007ffe", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffba", - "0x482680017ffd8000", - "0x11000000000000000000000000000000000000000000000101", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x20680017fff7fff", - "0xc", - "0x40780017fff7fff", - "0xa", - "0x480680017fff8000", - "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeff", - "0x480a7ffc7fff8000", - "0x48287ffd80007ffe", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffab", - "0x10780017fff7fff", - "0x8", - "0x40780017fff7fff", - "0xb", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa3", - "0x480a7ffd7fff8000", - "0x208b7fff7fff7ffe", - "0xa0680017fff8000", - "0xa", - "0x400380007ffc7ffd", - "0x40780017fff7fff", - "0x14", - "0x482680017ffc8000", - "0x1", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0xa0680017fff8000", - "0xe", - "0x484680017ffd8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x482480017fff8000", - "0x800000000000011000000000000000000000000000000000000000000000000", - "0x400280007ffc7fff", - "0x40780017fff7fff", - "0x11", - "0x482680017ffc8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480680017fff8000", - "0x100000000000000000000000000000000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff90", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x48297ffc80007ffd", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde", - "0x208b7fff7fff7ffe", - "0x400380007ffb7ffc", - "0x400380017ffb7ffd", - "0x482680017ffb8000", - "0x2", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x4", - "0x404b800280028002", - "0x404b800380038003", - "0x482a7ffc7ffa8000", - "0x4846800180028000", - "0x100000000000000000000000000000000", - "0x40327fff80007ffe", - "0x482a7ffd7ffb8000", - "0x482880027fff8000", - "0x4846800180038000", - "0x100000000000000000000000000000000", - "0x40327fff80017ffe", - "0x480a7ff97fff8000", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x480a80037fff8000", - "0x208b7fff7fff7ffe", - "0x48297ffd80007ffb", - "0x20680017fff7fff", - "0x9", - "0x480a7ff97fff8000", - "0x482680017ffa8000", - "0x1", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x482680017ffb8000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd3", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", - "0x480680017fff8000", - "0x1", - "0x48127ffd7fff8000", - "0x48307ffd80007ffe", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0xffffffffffffffffffffffffffffffff", - "0x480680017fff8000", - "0xffffffffffffffffffffffffffffffff", - "0x480a7ffb7fff8000", - "0x48287ffc80007ffd", - "0x48287ffd80007ffd", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbd", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef", - "0x48127ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffad", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x48297ffd80007ffb", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x6", - "0x480a7ff97fff8000", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48297ffc80007ffa", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x6", - "0x480a7ff97fff8000", - "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff89", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff85", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff84", - "0x400680017fff7fff", - "0x0", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x0", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff72", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff6e", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff94", - "0x400680017fff7fff", - "0x1", - "0x48127ffe7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffae", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x2", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9a", - "0x40137fff7fff8000", - "0x480680017fff8000", - "0x99cd8bde557814842a3121e8ddfd433a539b8c9f14bf31ebf108d12e6196e9", - "0x4002800080007fff", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe94", - "0x40137fff7fff8001", - "0x4003800080017ffa", - "0x4003800180017ffb", - "0x4003800280017ffc", - "0x4003800380017ffd", - "0x4826800180018000", - "0x4", - "0x480a7ff87fff8000", - "0x480680017fff8000", - "0x1", - "0x480a80007fff8000", - "0x4828800180007ffc", - "0x480a80017fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea5", - "0x480a7ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x2", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe7f", - "0x40137fff7fff8000", - "0x480680017fff8000", - "0x134692b230b9e1ffa39098904722134159652b09c5bc41d88d6698779d228ff", - "0x4002800080007fff", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe79", - "0x40137fff7fff8001", - "0x4003800080017ffa", - "0x4003800180017ffb", - "0x4003800280017ffc", - "0x4003800380017ffd", - "0x4826800180018000", - "0x4", - "0x480a7ff87fff8000", - "0x480680017fff8000", - "0x1", - "0x480a80007fff8000", - "0x4828800180007ffc", - "0x480a80017fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8a", - "0x480a7ff97fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe6b", - "0x48127ffe7fff8000", - "0x48127ff57fff8000", - "0x48127ff57fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe65", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0xb6ce5410fca59d078ee9b2a4371a9d684c530d697c64fbef0ae6d5e8f0ac72", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", - "0x48127ffe7fff8000", - "0x48127ff57fff8000", - "0x48127ff57fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x1f0d4aa99431d246bac9b8e48c33e888245b15e9678f64f9bdfc8823dc8f979", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2f", - "0x48127ffe7fff8000", - "0x48127ff57fff8000", - "0x48127ff57fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe29", - "0x48127ff67fff8000", - "0x48127ff67fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a", - "0x208b7fff7fff7ffe", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe11", - "0x48127ffe7fff8000", - "0x482480017ff78000", - "0x1", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe0c", - "0x48127ffe7fff8000", - "0x48127fee7fff8000", - "0x48127fee7fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", - "0x480a7ff97fff8000", - "0x48127ffe7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe05", - "0x482480017ff88000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe00", - "0x48127ff07fff8000", - "0x48127ff07fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde2", - "0x480a7ffc7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe4d", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", - "0x480a7ffa7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdde", - "0x48127ffe7fff8000", - "0x482480017ff78000", - "0x1", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd9", - "0x48127ffe7fff8000", - "0x48127fee7fff8000", - "0x48127fee7fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffdc", - "0x480a7ff87fff8000", - "0x48127ffe7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd1", - "0x482480017ff88000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdcc", - "0x48127ff07fff8000", - "0x48127ff07fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480680017fff8000", - "0x3c87bf42ed4f01f11883bf54f43d91d2cbbd5fec26d1df9c74c57ae138800a4", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdae", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdab", - "0x480a7ffb7fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe16", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x480a7ff97fff8000", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda6", - "0x48127ffe7fff8000", - "0x482480017ff78000", - "0x1", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", - "0x48127ffe7fff8000", - "0x48127fee7fff8000", - "0x48127fee7fff8000", - "0x48127ff57fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd7", - "0x480a7ff77fff8000", - "0x48127ffe7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd98", - "0x482480017ff88000", - "0x1", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd93", - "0x48127ff07fff8000", - "0x48127ff07fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1f", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff3a", - "0x480a7ffd7fff8000", - "0x480680017fff8000", - "0xff", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9d", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffd7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4d", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefe", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff16", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4c", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff28", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff71", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa0", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd42", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xa2", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ff77fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd33", - "0x48127ffe7fff8000", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x48127ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xeb", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x8d", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdd3", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd19", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x48127ff77fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xb1", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbf", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd05", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x48127ff77fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff58", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe26", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x48127f867fff8000", - "0x480a7ffb7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x1104800180018000", - "0x92", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x0", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9e", - "0x480a7ff87fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce4", - "0x48127ffe7fff8000", - "0x480a7ff97fff8000", - "0x48127ff77fff8000", - "0x48127ffc7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff37", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe1a", - "0x48127f707fff8000", - "0x48127f707fff8000", - "0x48127ffb7fff8000", - "0x48127f257fff8000", - "0x480a7ffb7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x1104800180018000", - "0x71", - "0x480680017fff8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd7f", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffce6", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb1", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde8", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb9", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffed5", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdda", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x480a7ffb7fff8000", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffedd", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x480680017fff8000", - "0x0", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf9", - "0x48127ffe7fff8000", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd4b", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcb2", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcaf", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x48127ff77fff8000", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeab", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc5", - "0x48127f707fff8000", - "0x48127f707fff8000", - "0x48127ffb7fff8000", - "0x480a7ffa7fff8000", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb3", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9c", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", - "0x48127fd17fff8000", - "0x48127fd17fff8000", - "0x48127ffb7fff8000", - "0x480a7ffb7fff8000", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea4", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc1", - "0x48127ffe7fff8000", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd13", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc7a", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc77", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x48127ff77fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffebc", - "0x48127ffd7fff8000", - "0x48127ffe7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbc", - "0x48127ffe7fff8000", - "0x48127fe17fff8000", - "0x48127ffd7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x4", - "0x480a7ff97fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcf1", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x48127ffd7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8d", - "0x40137ffe7fff8000", - "0x40137fff7fff8001", - "0x40137ffb7fff8002", - "0x40137ffc7fff8003", - "0x48127ffd7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd17", - "0x48127ffd7fff8000", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd37", - "0x20680017fff7fff", - "0x13", - "0x48127ffe7fff8000", - "0x480a80007fff8000", - "0x480a80017fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd59", - "0x480a80027fff8000", - "0x480a80037fff8000", - "0x48127ffb7fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffb1", - "0x208b7fff7fff7ffe", - "0x480a80027fff8000", - "0x480a80037fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff57fff8000", - "0x480a7ff67fff8000", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe84", - "0x480a7ffd7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff33", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x6", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x480280037ffd8000", - "0x480280047ffd8000", - "0x480280057ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", - "0x40780017fff7fff", - "0x1", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x480680017fff8000", - "0x0", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe77", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe5f", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe47", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffb", - "0x4003800180007ffc", - "0x4826800180008000", - "0x2", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", - "0x48127ff37fff8000", - "0x48127ff37fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2e", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x402b7ffd7ffc7ffd", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffee", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff1", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe15", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffb", - "0x4003800180007ffc", - "0x4826800180008000", - "0x2", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x1", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe9", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed", - "0x48127ff37fff8000", - "0x48127ff37fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdf8", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffb", - "0x4003800180007ffc", - "0x4826800180008000", - "0x2", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x2", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", - "0x48127ffd7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff37fff8000", - "0x48127ff37fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdda", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc2", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x4", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x480280037ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe4", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffeb", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb0", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd9e", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd97", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x4003800080007ffc", - "0x4826800180008000", - "0x1", - "0x480a7ffd7fff8000", - "0x4828800080007ffe", - "0x480a80007fff8000", - "0x208b7fff7fff7ffe", - "0x482680017ffd8000", - "0x3", - "0x402a7ffd7ffc7fff", - "0x480280007ffb8000", - "0x480280017ffb8000", - "0x480280027ffb8000", - "0x480280007ffd8000", - "0x480280017ffd8000", - "0x480280027ffd8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", - "0x48127ffe7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffec", - "0x48127ff47fff8000", - "0x48127ff47fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe" - ], - "debug_info": { - "file_contents": { - "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo": "assert [cast(fp + (-4), felt*)] = __calldata_actual_size;\n", - "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo": "let __calldata_arg_subtracted_value = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", - "autogen/starknet/arg_processor/0f412f121f4d99c455cd9caefc2f5203633f41332d4df4e5f8fdc3b70e62b4ba.cairo": "let __calldata_arg_initial_supply = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", - "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo": "let __calldata_arg_spender = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/2670bb539ede27446c75876e41bcf9ef5cab09b9eec143f3986635a545b089ab.cairo": "assert [__calldata_ptr] = to;\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/2a6553d1cb026d6d486f03ea4f3c4e23a17d2c2fada60e20573741cc8edfdb84.cairo": "let __calldata_arg_sender = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/3635b1d7caa543a52376beeb37a143262ea6ffdf923d8e3676d9b27787e943c8.cairo": "assert [__return_value_ptr] = ret_value.symbol;\nlet __return_value_ptr = __return_value_ptr + 1;\n", - "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo": "let __calldata_arg_added_value = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", - "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo": "assert [__return_value_ptr] = ret_value.success;\nlet __return_value_ptr = __return_value_ptr + 1;\n", - "autogen/starknet/arg_processor/6f345e20daf86e05c346aa1f6a9eeaa296a59eb71a12784c017d25ed5b25ff32.cairo": "assert [__return_value_ptr] = ret_value.name;\nlet __return_value_ptr = __return_value_ptr + 1;\n", - "autogen/starknet/arg_processor/7e247556a8b9bc505c1e503bda1dbcb424caa8925f45ae18cdde008e8b84b376.cairo": "assert [__calldata_ptr] = owner;\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo": "// Create a reference to ret_value.remaining as felt*.\nlet __return_value_tmp: felt* = cast(&ret_value.remaining, felt*);\nassert [__return_value_ptr + 0] = [__return_value_tmp + 0];\nassert [__return_value_ptr + 1] = [__return_value_tmp + 1];\nlet __return_value_ptr = __return_value_ptr + 2;\n", - "autogen/starknet/arg_processor/86b8ce991898641b73ad3eb5d907f86c73139c426526138c35901b17a2d6334d.cairo": "assert [__calldata_ptr] = spender;\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/95ae8cb44b0755388c1e634980ee8b2634c31b1a198c799f64c304663bce699a.cairo": "let __calldata_arg_decimals = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo": "// Create a reference to value as felt*.\nlet __calldata_tmp: felt* = cast(&value, felt*);\nassert [__calldata_ptr + 0] = [__calldata_tmp + 0];\nassert [__calldata_ptr + 1] = [__calldata_tmp + 1];\nlet __calldata_ptr = __calldata_ptr + 2;\n", - "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo": "// Create a reference to ret_value.totalSupply as felt*.\nlet __return_value_tmp: felt* = cast(&ret_value.totalSupply, felt*);\nassert [__return_value_ptr + 0] = [__return_value_tmp + 0];\nassert [__return_value_ptr + 1] = [__return_value_tmp + 1];\nlet __return_value_ptr = __return_value_ptr + 2;\n", - "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo": "let __calldata_arg_amount = [\n cast(__calldata_ptr, starkware.cairo.common.uint256.Uint256*)];\nlet __calldata_ptr = __calldata_ptr + 2;\n", - "autogen/starknet/arg_processor/99058c0781745b3c0332799d723549974cbf489b623dde03906204304de60803.cairo": "let __calldata_arg_symbol = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/a81bcec621a2ff03486299e6a77ac9e0b035697b74f8a9b599dbb1c25229a3e2.cairo": "assert [__return_value_ptr] = ret_value.decimals;\nlet __return_value_ptr = __return_value_ptr + 1;\n", - "autogen/starknet/arg_processor/ad6bf90c88bb84c90b568cfe0e89ce22c3213011f6c9cc8bf0b75066ae521c26.cairo": "assert [__calldata_ptr] = from_;\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo": "let __calldata_actual_size = __calldata_ptr - cast([cast(fp + (-3), felt**)], felt*);\n", - "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo": "let __calldata_arg_recipient = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/e1eb73cd870ec466294c3700e77817cf3c039ac1384882ddb76383eb87a5da90.cairo": "let __calldata_arg_name = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo": "let __calldata_arg_account = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo": "// Create a reference to ret_value.balance as felt*.\nlet __return_value_tmp: felt* = cast(&ret_value.balance, felt*);\nassert [__return_value_ptr + 0] = [__return_value_tmp + 0];\nassert [__return_value_ptr + 1] = [__return_value_tmp + 1];\nlet __return_value_ptr = __return_value_ptr + 2;\n", - "autogen/starknet/arg_processor/f6a4d9ae897caf37cefd18f7c8da7eee73157818279359aadee282f0fe59cdbc.cairo": "let __calldata_arg_owner = [__calldata_ptr];\nlet __calldata_ptr = __calldata_ptr + 1;\n", - "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo": "emit_event(keys_len=1, keys=__keys_ptr, data_len=__calldata_ptr - __data_ptr, data=__data_ptr);\nreturn ();\n", - "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo": "alloc_locals;\nlet (local __keys_ptr: felt*) = alloc();\nassert [__keys_ptr] = SELECTOR;\nlet (local __data_ptr: felt*) = alloc();\nlet __calldata_ptr = __data_ptr;\n", - "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo": "func emit{syscall_ptr: felt*, range_check_ptr}() {\n}\n", - "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo": "emit_event(keys_len=1, keys=__keys_ptr, data_len=__calldata_ptr - __data_ptr, data=__data_ptr);\nreturn ();\n", - "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo": "alloc_locals;\nlet (local __keys_ptr: felt*) = alloc();\nassert [__keys_ptr] = SELECTOR;\nlet (local __data_ptr: felt*) = alloc();\nlet __calldata_ptr = __data_ptr;\n", - "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo": "func emit{syscall_ptr: felt*, range_check_ptr}() {\n}\n", - "autogen/starknet/external/allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(owner=__calldata_arg_owner, spender=__calldata_arg_spender,);\nlet (range_check_ptr, retdata_size, retdata) = allowance_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/approve/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, amount=__calldata_arg_amount,);\nlet (range_check_ptr, retdata_size, retdata) = approve_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/approve/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/approve/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(account=__calldata_arg_account,);\nlet (range_check_ptr, retdata_size, retdata) = balanceOf_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/balanceOf/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/balanceOf/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/balanceOf/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(name=__calldata_arg_name, symbol=__calldata_arg_symbol, decimals=__calldata_arg_decimals, initial_supply=__calldata_arg_initial_supply, recipient=__calldata_arg_recipient,);\n%{ memory[ap] = segments.add() %} // Allocate memory for return value.\ntempvar retdata: felt*;\nlet retdata_size = 0;\n", - "autogen/starknet/external/constructor/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/constructor/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/constructor/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/decimals/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/decimals/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/decimals/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = decimals_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/decreaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/decreaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/decreaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, subtracted_value=__calldata_arg_subtracted_value,);\nlet (range_check_ptr, retdata_size, retdata) = decreaseAllowance_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(spender=__calldata_arg_spender, added_value=__calldata_arg_added_value,);\nlet (range_check_ptr, retdata_size, retdata) = increaseAllowance_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/increaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/increaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/increaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = name_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/name/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/name/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/name/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo": "func allowance_encode_return(ret_value: (remaining: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo": "func approve_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo": "func balanceOf_encode_return(ret_value: (balance: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo": "func decimals_encode_return(ret_value: (decimals: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo": "func decreaseAllowance_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo": "func increaseAllowance_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo": "func name_encode_return(ret_value: (name: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo": "func symbol_encode_return(ret_value: (symbol: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo": "func totalSupply_encode_return(ret_value: (totalSupply: starkware.cairo.common.uint256.Uint256), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo": "func transfer_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo": "func transferFrom_encode_return(ret_value: (success: felt), range_check_ptr) -> (\n range_check_ptr: felt, data_len: felt, data: felt*) {\n %{ memory[ap] = segments.add() %}\n alloc_locals;\n local __return_value_ptr_start: felt*;\n let __return_value_ptr = __return_value_ptr_start;\n with range_check_ptr {\n }\n return (\n range_check_ptr=range_check_ptr,\n data_len=__return_value_ptr - __return_value_ptr_start,\n data=__return_value_ptr_start);\n}\n", - "autogen/starknet/external/symbol/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/symbol/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/symbol/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = symbol_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/totalSupply/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/totalSupply/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/totalSupply/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}();\nlet (range_check_ptr, retdata_size, retdata) = totalSupply_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/transfer/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/transfer/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/transfer/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(recipient=__calldata_arg_recipient, amount=__calldata_arg_amount,);\nlet (range_check_ptr, retdata_size, retdata) = transfer_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo": "let ret_value = __wrapped_func{syscall_ptr=syscall_ptr, pedersen_ptr=pedersen_ptr, range_check_ptr=range_check_ptr}(sender=__calldata_arg_sender, recipient=__calldata_arg_recipient, amount=__calldata_arg_amount,);\nlet (range_check_ptr, retdata_size, retdata) = transferFrom_encode_return(ret_value, range_check_ptr);\n", - "autogen/starknet/external/transferFrom/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo": "let range_check_ptr = [cast([cast(fp + (-5), felt**)] + 2, felt*)];\n", - "autogen/starknet/external/transferFrom/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo": "let pedersen_ptr = [cast([cast(fp + (-5), felt**)] + 1, starkware.cairo.common.cairo_builtins.HashBuiltin**)];\n", - "autogen/starknet/external/transferFrom/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo": "let syscall_ptr = [cast([cast(fp + (-5), felt**)] + 0, felt**)];\n", - "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo": "return (syscall_ptr,pedersen_ptr,range_check_ptr,retdata_size,retdata);\n", - "autogen/starknet/storage_var/ERC20_allowances/decl.cairo": "namespace ERC20_allowances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(owner: felt, spender: felt) -> (\n res: felt\n ) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt\n ) -> (remaining: Uint256) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt, value: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", - "autogen/starknet/storage_var/ERC20_allowances/impl.cairo": "namespace ERC20_allowances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(owner: felt, spender: felt) -> (\n res: felt\n ) {\n let res = 1711163456665081073580914249687599371093043615922190105609691201034487595172;\n let (res) = hash2{hash_ptr=pedersen_ptr}(res, cast(&owner, felt*)[0]);\n let (res) = hash2{hash_ptr=pedersen_ptr}(res, cast(&spender, felt*)[0]);\n let (res) = normalize_address(addr=res);\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt\n ) -> (remaining: Uint256) {\n let (storage_addr) = addr(owner, spender);\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n let (__storage_var_temp1) = storage_read(address=storage_addr + 1);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n tempvar __storage_var_temp1: felt = __storage_var_temp1;\n return ([cast(&__storage_var_temp0, Uint256*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n owner: felt, spender: felt, value: Uint256\n ) {\n let (storage_addr) = addr(owner, spender);\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n storage_write(address=storage_addr + 1, value=[cast(&value, felt) + 1]);\n return ();\n }\n}", - "autogen/starknet/storage_var/ERC20_balances/decl.cairo": "namespace ERC20_balances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (\n balance: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n account: felt, value: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", - "autogen/starknet/storage_var/ERC20_balances/impl.cairo": "namespace ERC20_balances {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (res: felt) {\n let res = 1648309034483306940318020057553480881073352647889682838905012914068126451082;\n let (res) = hash2{hash_ptr=pedersen_ptr}(res, cast(&account, felt*)[0]);\n let (res) = normalize_address(addr=res);\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> (\n balance: Uint256\n ) {\n let (storage_addr) = addr(account);\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n let (__storage_var_temp1) = storage_read(address=storage_addr + 1);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n tempvar __storage_var_temp1: felt = __storage_var_temp1;\n return ([cast(&__storage_var_temp0, Uint256*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(\n account: felt, value: Uint256\n ) {\n let (storage_addr) = addr(account);\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n storage_write(address=storage_addr + 1, value=[cast(&value, felt) + 1]);\n return ();\n }\n}", - "autogen/starknet/storage_var/ERC20_decimals/decl.cairo": "namespace ERC20_decimals {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n decimals: felt\n ) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", - "autogen/starknet/storage_var/ERC20_decimals/impl.cairo": "namespace ERC20_decimals {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 877823913686921299048507465990220541161247202424540097559864758276037605753;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n decimals: felt\n ) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n return ([cast(&__storage_var_temp0, felt*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n return ();\n }\n}", - "autogen/starknet/storage_var/ERC20_name/decl.cairo": "namespace ERC20_name {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (name: felt) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", - "autogen/starknet/storage_var/ERC20_name/impl.cairo": "namespace ERC20_name {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 1473120764136009396440970107973971969419251478021578277222806501183556393953;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (name: felt) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n return ([cast(&__storage_var_temp0, felt*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n return ();\n }\n}", - "autogen/starknet/storage_var/ERC20_symbol/decl.cairo": "namespace ERC20_symbol {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (symbol: felt) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", - "autogen/starknet/storage_var/ERC20_symbol/impl.cairo": "namespace ERC20_symbol {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 322990191961554429053868449035526014412279677330895387449703561219527453810;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (symbol: felt) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n return ([cast(&__storage_var_temp0, felt*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: felt) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n return ();\n }\n}", - "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo": "namespace ERC20_total_supply {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 0;\n call hash2;\n call normalize_address;\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n total_supply: Uint256\n ) {\n let storage_addr = 0;\n call addr;\n call storage_read;\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: Uint256) {\n let storage_addr = 0;\n call addr;\n call storage_write;\n }\n}", - "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo": "namespace ERC20_total_supply {\n from starkware.starknet.common.storage import normalize_address\n from starkware.starknet.common.syscalls import storage_read, storage_write\n from starkware.cairo.common.cairo_builtins import HashBuiltin\n from starkware.cairo.common.hash import hash2\n\n func addr{pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (res: felt) {\n let res = 482148859801725464274198147480840119334382080162606228723774290742111978842;\n return (res=res);\n }\n\n func read{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (\n total_supply: Uint256\n ) {\n let (storage_addr) = addr();\n let (__storage_var_temp0) = storage_read(address=storage_addr + 0);\n let (__storage_var_temp1) = storage_read(address=storage_addr + 1);\n\n tempvar syscall_ptr = syscall_ptr;\n tempvar pedersen_ptr = pedersen_ptr;\n tempvar range_check_ptr = range_check_ptr;\n tempvar __storage_var_temp0: felt = __storage_var_temp0;\n tempvar __storage_var_temp1: felt = __storage_var_temp1;\n return ([cast(&__storage_var_temp0, Uint256*)],);\n }\n\n func write{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(value: Uint256) {\n let (storage_addr) = addr();\n storage_write(address=storage_addr + 0, value=[cast(&value, felt) + 0]);\n storage_write(address=storage_addr + 1, value=[cast(&value, felt) + 1]);\n return ();\n }\n}" - }, - "instruction_locations": { - "0": { - "accessible_scopes": [ - "starkware.cairo.common.alloc", - "starkware.cairo.common.alloc.alloc" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/alloc.cairo" - }, - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 12, - "end_line": 4, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/alloc.cairo" - }, - "start_col": 5, - "start_line": 4 - } - }, - "2": { - "accessible_scopes": [ - "starkware.cairo.common.alloc", - "starkware.cairo.common.alloc.alloc" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 5, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/alloc.cairo" - }, - "start_col": 5, - "start_line": 5 - } - }, - "3": { - "accessible_scopes": [ - "starkware.cairo.common.hash", - "starkware.cairo.common.hash.hash2" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 14, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "start_col": 5, - "start_line": 14 - } - }, - "4": { - "accessible_scopes": [ - "starkware.cairo.common.hash", - "starkware.cairo.common.hash.hash2" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 15, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "start_col": 5, - "start_line": 15 - } - }, - "5": { - "accessible_scopes": [ - "starkware.cairo.common.hash", - "starkware.cairo.common.hash.hash2" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 47, - "end_line": 17, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 13, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "parent_location": [ - { - "end_col": 28, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "start_col": 5, - "start_line": 18 - }, - "While trying to retrieve the implicit argument 'hash_ptr' in:" - ], - "start_col": 12, - "start_line": 13 - }, - "While expanding the reference 'hash_ptr' in:" - ], - "start_col": 20, - "start_line": 17 - } - }, - "7": { - "accessible_scopes": [ - "starkware.cairo.common.hash", - "starkware.cairo.common.hash.hash2" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 16, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "start_col": 20, - "start_line": 18 - }, - "While expanding the reference 'result' in:" - ], - "start_col": 18, - "start_line": 16 - } - }, - "8": { - "accessible_scopes": [ - "starkware.cairo.common.hash", - "starkware.cairo.common.hash.hash2" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 28, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/hash.cairo" - }, - "start_col": 5, - "start_line": 18 - } - }, - "9": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.get_caller_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 90, - "end_line": 202, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 63, - "start_line": 202 - } - }, - "11": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.get_caller_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 92, - "end_line": 202, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 202 - } - }, - "12": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.get_caller_address" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 93, - "end_line": 203, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 203 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 58, - "end_line": 204, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 205, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 205 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 23, - "start_line": 204 - } - }, - "14": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.get_caller_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 59, - "end_line": 205, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 28, - "start_line": 205 - } - }, - "15": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.get_caller_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 205, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 205 - } - }, - "16": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 354, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 58, - "start_line": 354 - } - }, - "18": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 98, - "end_line": 354, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 354 - } - }, - "19": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 98, - "end_line": 354, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 354 - } - }, - "20": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 87, - "end_line": 355, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 355 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 53, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 358, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 358 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 23, - "start_line": 357 - } - }, - "22": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 358, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 19, - "start_line": 358 - } - }, - "23": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 358, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 358 - } - }, - "24": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 372, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 18, - "start_line": 372 - } - }, - "26": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 373, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 371 - } - }, - "27": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 373, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 371 - } - }, - "28": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 373, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 371 - } - }, - "29": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 88, - "end_line": 374, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 374 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 54, - "end_line": 375, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 370, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 376, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 376 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 370 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 23, - "start_line": 375 - } - }, - "31": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 376, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 376 - } - }, - "32": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 392, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 18, - "start_line": 392 - } - }, - "34": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 393, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 391 - } - }, - "35": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 393, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 391 - } - }, - "36": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 393, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 391 - } - }, - "37": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 393, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 391 - } - }, - "38": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 393, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 391 - } - }, - "39": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 85, - "end_line": 394, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 394 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 51, - "end_line": 395, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 390, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 396, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 396 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 17, - "start_line": 390 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 23, - "start_line": 395 - } - }, - "41": { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 396, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "start_col": 5, - "start_line": 396 - } - }, - "42": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_not_zero" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 7, - "end_line": 11, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 7 - }, - "n_prefix_newlines": 1 - } - ], - "inst": { - "end_col": 7, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 12 - } - }, - "44": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_not_zero" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 14, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 9, - "start_line": 14 - } - }, - "46": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_not_zero" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 17, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 17 - } - }, - "47": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_nn" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 7, - "end_line": 46, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 42 - }, - "n_prefix_newlines": 1 - } - ], - "inst": { - "end_col": 26, - "end_line": 47, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 47 - } - }, - "48": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 48, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 41, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 49, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 49 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 16, - "start_line": 41 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 48 - } - }, - "50": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 49, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 49 - } - }, - "51": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 53, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 41, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 21, - "end_line": 54, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 54 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 16, - "start_line": 41 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 16, - "start_line": 53 - } - }, - "52": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 54, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 15, - "start_line": 54 - } - }, - "53": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 54, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 54 - } - }, - "55": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 55, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 55 - } - }, - "56": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 7, - "end_line": 106, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 97 - }, - "n_prefix_newlines": 1 - } - ], - "inst": { - "end_col": 50, - "end_line": 108, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 36, - "start_line": 108 - } - }, - "58": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 95, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 108, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 53, - "start_line": 108 - }, - "While expanding the reference 'high' in:" - ], - "start_col": 16, - "start_line": 95 - } - }, - "59": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 57, - "end_line": 108, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 36, - "start_line": 108 - } - }, - "60": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 108, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 108 - } - }, - "61": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 95, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 113, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 20, - "start_line": 113 - }, - "While expanding the reference 'high' in:" - ], - "start_col": 16, - "start_line": 95 - } - }, - "62": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 113, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 20, - "start_line": 113 - } - }, - "64": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 94, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 113, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 35, - "start_line": 113 - }, - "While expanding the reference 'low' in:" - ], - "start_col": 15, - "start_line": 94 - } - }, - "65": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 113, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 113 - } - }, - "66": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 115, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 89, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 116, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 116 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 89 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 115 - } - }, - "68": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 116, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 116 - } - }, - "69": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 7, - "end_line": 184, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 164 - }, - "n_prefix_newlines": 1 - } - ], - "inst": { - "end_col": 42, - "end_line": 186, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 25, - "start_line": 186 - } - }, - "70": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 66, - "end_line": 186, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 45, - "start_line": 186 - } - }, - "71": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 86, - "end_line": 186, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 45, - "start_line": 186 - } - }, - "73": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 86, - "end_line": 186, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 25, - "start_line": 186 - } - }, - "74": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 187, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 24, - "start_line": 187 - } - }, - "75": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 69, - "end_line": 187, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 48, - "start_line": 187 - } - }, - "76": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 89, - "end_line": 187, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 48, - "start_line": 187 - } - }, - "78": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 89, - "end_line": 187, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 24, - "start_line": 187 - } - }, - "79": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 49, - "end_line": 196, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 196 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 42, - "end_line": 197, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 197 - } - }, - "81": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 198, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 23, - "start_line": 198 - } - }, - "83": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 30, - "end_line": 198, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 22, - "start_line": 198 - } - }, - "84": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 198, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 198 - } - }, - "85": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 199, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 24, - "start_line": 199 - } - }, - "86": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 199, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 34, - "start_line": 199 - } - }, - "88": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 199, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 23, - "start_line": 199 - } - }, - "89": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 199, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 199 - } - }, - "90": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 188, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 154, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 200 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 154 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 188 - } - }, - "92": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 200 - } - }, - "93": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 49, - "end_line": 204, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 204 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 50, - "end_line": 205, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 205 - } - }, - "95": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 23, - "end_line": 206, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 21, - "start_line": 206 - } - }, - "97": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 28, - "end_line": 206, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 20, - "start_line": 206 - } - }, - "98": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 30, - "end_line": 207, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 22, - "start_line": 207 - } - }, - "99": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 207, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 207 - } - }, - "100": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 208, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 23, - "start_line": 208 - } - }, - "101": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 208, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 208 - } - }, - "102": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 188, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 154, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 209, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 209 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 154 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 188 - } - }, - "104": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 209, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 209 - } - }, - "105": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 31, - "end_line": 213, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 213 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 24, - "end_line": 214, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 214 - } - }, - "106": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 215, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 28, - "start_line": 215 - } - }, - "107": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 215, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 23, - "start_line": 215 - } - }, - "108": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 215, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 215 - } - }, - "109": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 12, - "end_line": 216, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 216 - } - }, - "111": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 188, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 154, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 217, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 217 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 154 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 188 - } - }, - "113": { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 217, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "start_col": 5, - "start_line": 217 - } - }, - "114": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 13, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 5, - "start_line": 13 - } - }, - "116": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 7, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 5, - "start_line": 14 - }, - "n_prefix_newlines": 1 - } - ], - "inst": { - "end_col": 7, - "end_line": 22, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 5, - "start_line": 22 - } - }, - "118": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 89, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 50 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 89 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 24, - "start_line": 12 - } - }, - "119": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 48, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 24, - "start_line": 50 - }, - "While expanding the reference 'x' in:" - ], - "start_col": 17, - "start_line": 48 - } - }, - "121": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 50 - } - }, - "123": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 49, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 51, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 24, - "start_line": 51 - }, - "While expanding the reference 'y' in:" - ], - "start_col": 18, - "start_line": 49 - } - }, - "125": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 89, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 89, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 51, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 51 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 89 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 9, - "start_line": 50 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 89 - } - }, - "126": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 28, - "end_line": 49, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 51, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 24, - "start_line": 51 - }, - "While expanding the reference 'y' in:" - ], - "start_col": 17, - "start_line": 49 - } - }, - "127": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 51, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 51 - } - }, - "129": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 52, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 21, - "start_line": 52 - } - }, - "131": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 52, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 52 - } - }, - "132": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 23, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 23 - } - }, - "134": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 57, - "end_line": 24, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 24 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 11, - "end_line": 25, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 25 - } - }, - "136": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 30, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 13, - "start_line": 30 - } - }, - "138": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 28, - "start_line": 32 - } - }, - "140": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 89, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 13, - "start_line": 32 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 89 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 24, - "start_line": 12 - } - }, - "141": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 28, - "start_line": 32 - } - }, - "142": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 50, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 13, - "start_line": 32 - } - }, - "144": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 11, - "end_line": 25, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 25 - } - }, - "146": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 26, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 13, - "start_line": 26 - } - }, - "148": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 89, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 28, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 13, - "start_line": 28 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 89 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 24, - "start_line": 12 - } - }, - "149": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 51, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 28, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 28, - "start_line": 28 - }, - "While expanding the reference 'addr' in:" - ], - "start_col": 41, - "start_line": 12 - } - }, - "150": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 28, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 13, - "start_line": 28 - } - }, - "152": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 51, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 34, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 21, - "start_line": 34 - }, - "While expanding the reference 'addr' in:" - ], - "start_col": 41, - "start_line": 12 - } - }, - "153": { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 27, - "end_line": 34, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "start_col": 9, - "start_line": 34 - } - }, - "154": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 84, - "end_line": 19, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 19 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 40, - "end_line": 20, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 20 - } - }, - "156": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 21 - } - }, - "157": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 22, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 22 - } - }, - "159": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 23, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 27, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 24 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 12, - "start_line": 18 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 23 - } - }, - "161": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 24, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 12, - "start_line": 24 - } - }, - "163": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 24 - } - }, - "164": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 91, - "end_line": 27, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 27 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 48, - "end_line": 28, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 28 - } - }, - "166": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 29, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 33, - "start_line": 29 - } - }, - "168": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 29, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 32, - "start_line": 29 - } - }, - "170": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 29, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 29 - } - }, - "171": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 30, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 30 - } - }, - "173": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 31, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 27, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 32 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 12, - "start_line": 18 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 31 - } - }, - "175": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 12, - "start_line": 32 - } - }, - "177": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 32 - } - }, - "178": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 27, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 154, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 35, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 35 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 154 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 12, - "start_line": 18 - } - }, - "179": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 28, - "end_line": 35, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 20, - "start_line": 35 - } - }, - "181": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 30, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 35, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 30, - "start_line": 35 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 29, - "start_line": 18 - } - }, - "182": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 35, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 35 - } - }, - "184": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 36, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 12, - "start_line": 36 - } - }, - "186": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 36, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 36 - } - }, - "187": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 27, - "end_line": 42, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 27, - "end_line": 18, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 43, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 12, - "start_line": 43 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 12, - "start_line": 18 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 12, - "start_line": 42 - } - }, - "188": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 23, - "end_line": 43, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 18, - "start_line": 43 - } - }, - "189": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 43, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 12, - "start_line": 43 - } - }, - "191": { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 43, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "start_col": 5, - "start_line": 43 - } - }, - "192": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_check" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 30, - "end_line": 22, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 22 - } - }, - "193": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_check" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 23, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 23 - } - }, - "194": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_check" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 24, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 25, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 25 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 27, - "start_line": 24 - } - }, - "196": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_check" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 25, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 25 - } - }, - "197": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 32, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 32 - } - }, - "199": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 7, - "end_line": 41, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 36 - }, - "n_prefix_newlines": 1 - } - ], - "inst": { - "end_col": 46, - "end_line": 43, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 43 - } - }, - "200": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 44, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 44 - } - }, - "201": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 46, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 22, - "start_line": 46 - } - }, - "202": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 46, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 38, - "start_line": 46 - } - }, - "204": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 46, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 46 - } - }, - "205": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 47, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 23, - "start_line": 47 - } - }, - "206": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 50, - "end_line": 47, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 23, - "start_line": 47 - } - }, - "207": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 71, - "end_line": 47, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 53, - "start_line": 47 - } - }, - "209": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 47, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 47 - } - }, - "210": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 31, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 48, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 48 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 31 - } - }, - "211": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 33, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 22, - "end_line": 48, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 19, - "start_line": 48 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 11, - "start_line": 33 - } - }, - "212": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 33, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 22, - "end_line": 48, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 19, - "start_line": 48 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 11, - "start_line": 33 - } - }, - "213": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 23, - "end_line": 48, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 48 - } - }, - "215": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 33, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 16, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 13, - "start_line": 50 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 11, - "start_line": 33 - } - }, - "216": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 33, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 16, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 13, - "start_line": 50 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 11, - "start_line": 33 - } - }, - "217": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 35, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 28, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 18, - "start_line": 50 - }, - "While expanding the reference 'carry_high' in:" - ], - "start_col": 11, - "start_line": 35 - } - }, - "218": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 30, - "end_line": 50, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 50 - } - }, - "219": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 134, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 134 - } - }, - "220": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 134, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 134 - } - }, - "222": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 133, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 27, - "end_line": 42, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 135, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 135 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 12, - "start_line": 42 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 133 - } - }, - "223": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 135, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 23, - "start_line": 135 - } - }, - "225": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 135, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 34, - "start_line": 135 - } - }, - "226": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 135, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 135 - } - }, - "228": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 135, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 135 - } - }, - "229": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 133, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 27, - "end_line": 42, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math_cmp.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 137, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 13, - "start_line": 137 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 12, - "start_line": 42 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 133 - } - }, - "230": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 137, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 19, - "start_line": 137 - } - }, - "232": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 137, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 31, - "start_line": 137 - } - }, - "233": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 137, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 13, - "start_line": 137 - } - }, - "235": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_lt" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 137, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 137 - } - }, - "236": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 148, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 133, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 149, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 20, - "start_line": 149 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 133 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 148 - } - }, - "237": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 148, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 149, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 33, - "start_line": 149 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 148 - } - }, - "238": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 148, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 149, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 33, - "start_line": 149 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 148 - } - }, - "239": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 148, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 149, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 38, - "start_line": 149 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 148 - } - }, - "240": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 148, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 149, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 38, - "start_line": 149 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 148 - } - }, - "241": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 149, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 20, - "start_line": 149 - } - }, - "243": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 150, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 150 - } - }, - "245": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 133, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 149, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 148, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 150, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 150 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 148 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 149 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 133 - } - }, - "246": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 27, - "end_line": 150, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 150 - } - }, - "247": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 150, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 150 - } - }, - "248": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_not" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 285, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 29, - "start_line": 285 - } - }, - "250": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_not" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 285, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 52, - "start_line": 285 - } - }, - "252": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_not" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 284, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 284, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 72, - "end_line": 285, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 285 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 284 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 284 - } - }, - "253": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_not" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 285, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 29, - "start_line": 285 - } - }, - "254": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_not" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 69, - "end_line": 285, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 52, - "start_line": 285 - } - }, - "255": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_not" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 285, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 285 - } - }, - "256": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 290, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 284, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 291, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 21, - "start_line": 291 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 284 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 290 - } - }, - "257": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 290, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 291, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 33, - "start_line": 291 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 35, - "start_line": 290 - } - }, - "258": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 290, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 291, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 33, - "start_line": 291 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 35, - "start_line": 290 - } - }, - "259": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 291, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 21, - "start_line": 291 - } - }, - "261": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 54, - "end_line": 292, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 53, - "start_line": 292 - } - }, - "263": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 292, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 61, - "start_line": 292 - } - }, - "265": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 292, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 20, - "start_line": 292 - } - }, - "267": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 31, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 292, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 290, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 22, - "end_line": 293, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 293 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 290 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 292 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 31 - } - }, - "268": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 292, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 293, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 293 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 10, - "start_line": 292 - } - }, - "269": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 292, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 293, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 293 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 10, - "start_line": 292 - } - }, - "270": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_neg" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 293, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 293 - } - }, - "271": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 348, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 290, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 349, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 19, - "start_line": 349 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 290 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 348 - } - }, - "272": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 57, - "end_line": 348, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 349, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 31, - "start_line": 349 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 47, - "start_line": 348 - } - }, - "273": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 57, - "end_line": 348, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 349, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 31, - "start_line": 349 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 47, - "start_line": 348 - } - }, - "274": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 349, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 19, - "start_line": 349 - } - }, - "276": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 290, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 349, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 31, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 20, - "start_line": 350 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 31 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 19, - "start_line": 349 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 290 - } - }, - "277": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 348, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 32, - "start_line": 350 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 35, - "start_line": 348 - } - }, - "278": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 348, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 32, - "start_line": 350 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 35, - "start_line": 348 - } - }, - "279": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 349, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 35, - "start_line": 350 - }, - "While expanding the reference 'b_neg' in:" - ], - "start_col": 10, - "start_line": 349 - } - }, - "280": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 349, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 35, - "start_line": 350 - }, - "While expanding the reference 'b_neg' in:" - ], - "start_col": 10, - "start_line": 349 - } - }, - "281": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 20, - "start_line": 350 - } - }, - "283": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 31, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 348, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 22, - "end_line": 351, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 351 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 348 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 350 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 31 - } - }, - "284": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 351, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 351 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 10, - "start_line": 350 - } - }, - "285": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 350, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 351, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 351 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 10, - "start_line": 350 - } - }, - "286": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_sub" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 351, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 351 - } - }, - "287": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 358, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 358 - } - }, - "288": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 358, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 358 - } - }, - "290": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 358, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 358 - } - }, - "292": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 359, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 359 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - } - }, - "293": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 359, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 21, - "start_line": 359 - } - }, - "295": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 359, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 359 - } - }, - "296": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 23, - "end_line": 361, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 361 - } - }, - "297": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 361, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 361 - } - }, - "299": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 7, - "end_line": 361, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 361 - } - }, - "301": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 362, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 362 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - } - }, - "302": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 362, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 21, - "start_line": 362 - } - }, - "304": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 362, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 9, - "start_line": 362 - } - }, - "305": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 364, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 364 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - } - }, - "306": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 364, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 17, - "start_line": 364 - } - }, - "308": { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_eq" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 364, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "start_col": 5, - "start_line": 364 - } - }, - "309": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 24 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 14, - "start_line": 23 - } - }, - "310": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 24 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 31, - "start_line": 23 - } - }, - "311": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 24 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 31, - "start_line": 23 - } - }, - "312": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 24 - } - }, - "314": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 53, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 25, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 25 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 43, - "start_line": 23 - } - }, - "315": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 53, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 25, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 25 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 43, - "start_line": 23 - } - }, - "316": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 25, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 25 - } - }, - "318": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 54, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 53, - "start_line": 26 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 31, - "start_line": 23 - } - }, - "319": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 54, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 53, - "start_line": 26 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 31, - "start_line": 23 - } - }, - "320": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 53, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 56, - "start_line": 26 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 43, - "start_line": 23 - } - }, - "321": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 53, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 56, - "start_line": 26 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 43, - "start_line": 23 - } - }, - "322": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 41, - "start_line": 26 - } - }, - "324": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 28, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 13, - "start_line": 28 - } - }, - "326": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 31, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 22, - "end_line": 30, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 30 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 14, - "start_line": 23 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 41, - "start_line": 26 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 31 - } - }, - "327": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 30, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 19, - "start_line": 30 - }, - "While expanding the reference 'c' in:" - ], - "start_col": 14, - "start_line": 26 - } - }, - "328": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 26, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 30, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 19, - "start_line": 30 - }, - "While expanding the reference 'c' in:" - ], - "start_col": 14, - "start_line": 26 - } - }, - "329": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.add" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 30, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 30 - } - }, - "330": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 36, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 36 - } - }, - "332": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 37, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 37 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 35 - } - }, - "333": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 37, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 37 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 35 - } - }, - "334": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 37, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 37 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 35 - } - }, - "335": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 37, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 37 - } - }, - "337": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 38, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 38 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 35 - } - }, - "338": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 38, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 38 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 35 - } - }, - "339": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 38, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 38 - } - }, - "341": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 39, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 34, - "start_line": 39 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 35 - } - }, - "342": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 39, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 34, - "start_line": 39 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 35 - } - }, - "343": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 39, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 37, - "start_line": 39 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 35 - } - }, - "344": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 39, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 37, - "start_line": 39 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 35 - } - }, - "345": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 39, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 23, - "start_line": 39 - } - }, - "347": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 41, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 13, - "start_line": 41 - } - }, - "349": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 148, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 39, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 348, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 43, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 28, - "start_line": 43 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 348 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 23, - "start_line": 39 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 148 - } - }, - "350": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 43, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 40, - "start_line": 43 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 35 - } - }, - "351": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 43, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 40, - "start_line": 43 - }, - "While expanding the reference 'a' in:" - ], - "start_col": 34, - "start_line": 35 - } - }, - "352": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 43, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 43, - "start_line": 43 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 35 - } - }, - "353": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 43, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 43, - "start_line": 43 - }, - "While expanding the reference 'b' in:" - ], - "start_col": 46, - "start_line": 35 - } - }, - "354": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 43, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 28, - "start_line": 43 - } - }, - "356": { - "accessible_scopes": [ - "openzeppelin.security.safemath.library", - "openzeppelin.security.safemath.library.SafeUint256", - "openzeppelin.security.safemath.library.SafeUint256.sub_le" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 44, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "start_col": 9, - "start_line": 44 - } - }, - "357": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "359": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 33, - "start_line": 2 - } - }, - "361": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "362": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 23, - "start_line": 3 - } - }, - "364": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 3 - } - }, - "365": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 33, - "start_line": 4 - } - }, - "367": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 6, - "start_line": 4 - } - }, - "368": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/ad6bf90c88bb84c90b568cfe0e89ce22c3213011f6c9cc8bf0b75066ae521c26.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 15, - "start_line": 20 - }, - "While handling calldata argument 'from_'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "369": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 30, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/2670bb539ede27446c75876e41bcf9ef5cab09b9eec143f3986635a545b089ab.cairo" - }, - "parent_location": [ - { - "end_col": 30, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 28, - "start_line": 20 - }, - "While handling calldata argument 'to'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "370": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 20 - }, - "While handling calldata argument 'value'" - ], - "start_col": 1, - "start_line": 3 - } - }, - "371": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 20 - }, - "While handling calldata argument 'value'" - ], - "start_col": 1, - "start_line": 4 - } - }, - "372": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 38, - "start_line": 20 - }, - "While handling calldata argument 'value'" - ], - "start_col": 22, - "start_line": 5 - } - }, - "374": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 390, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 95, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 1 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 17, - "start_line": 390 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - } - }, - "375": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 21, - "start_line": 1 - } - }, - "377": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 29, - "start_line": 1 - }, - "While expanding the reference '__keys_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 12, - "start_line": 2 - } - }, - "378": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 77, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 50, - "start_line": 1 - } - }, - "379": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/event/Transfer/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 94, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 84, - "start_line": 1 - }, - "While expanding the reference '__data_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 12, - "start_line": 4 - } - }, - "380": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 95, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "382": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 11, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 2 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - } - }, - "383": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Transfer", - "openzeppelin.token.erc20.library.Transfer.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 11, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Transfer/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 2 - } - }, - "384": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "386": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 33, - "start_line": 2 - } - }, - "388": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "389": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 23, - "start_line": 3 - } - }, - "391": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 3 - } - }, - "392": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 33, - "start_line": 4 - } - }, - "394": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 6, - "start_line": 4 - } - }, - "395": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/7e247556a8b9bc505c1e503bda1dbcb424caa8925f45ae18cdde008e8b84b376.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 15, - "start_line": 24 - }, - "While handling calldata argument 'owner'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "396": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/86b8ce991898641b73ad3eb5d907f86c73139c426526138c35901b17a2d6334d.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 28, - "start_line": 24 - }, - "While handling calldata argument 'spender'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "397": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 43, - "start_line": 24 - }, - "While handling calldata argument 'value'" - ], - "start_col": 1, - "start_line": 3 - } - }, - "398": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 43, - "start_line": 24 - }, - "While handling calldata argument 'value'" - ], - "start_col": 1, - "start_line": 4 - } - }, - "399": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/arg_processor/969c7e319d46ceb58852dd3a77ddee2803f411e321ab446a930b3d3df7862483.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 43, - "start_line": 24 - }, - "While handling calldata argument 'value'" - ], - "start_col": 22, - "start_line": 5 - } - }, - "401": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 390, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 95, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 1 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 17, - "start_line": 390 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - } - }, - "402": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 21, - "start_line": 1 - } - }, - "404": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 29, - "start_line": 1 - }, - "While expanding the reference '__keys_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 12, - "start_line": 2 - } - }, - "405": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 77, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 50, - "start_line": 1 - } - }, - "406": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/event/Approval/8220fde17ca5479f12ae71a8036f4d354fe722f2c036da610b53511924e4ee84.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 94, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 84, - "start_line": 1 - }, - "While expanding the reference '__data_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 12, - "start_line": 4 - } - }, - "407": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 95, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "409": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 11, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 2 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - } - }, - "410": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.Approval", - "openzeppelin.token.erc20.library.Approval.emit" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 11, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/event/Approval/6150feec30bd48bfd0f446ed8c155a6d911a2c3fb3ec7a980733900416819259.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 1, - "start_line": 2 - } - }, - "411": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "412": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "413": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 95, - "end_line": 8, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 21, - "start_line": 9 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 19, - "start_line": 8 - } - }, - "415": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - } - }, - "416": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 30, - "start_line": 13 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 12 - } - }, - "417": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 30, - "start_line": 13 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 12 - } - }, - "418": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 30, - "start_line": 13 - } - }, - "420": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 37, - "start_line": 14 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 12 - } - }, - "421": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 58, - "start_line": 14 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 13 - } - }, - "422": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 37, - "start_line": 14 - } - }, - "424": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 31, - "start_line": 16 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 14 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "425": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 32, - "start_line": 17 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 13 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "426": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 35, - "start_line": 18 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 13 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "427": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 45, - "start_line": 19 - }, - "While expanding the reference '__storage_var_temp0' in:" - ], - "start_col": 14, - "start_line": 14 - } - }, - "428": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 20 - } - }, - "429": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 30, - "start_line": 24 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 23 - } - }, - "430": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 30, - "start_line": 24 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 23 - } - }, - "431": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 30, - "start_line": 24 - } - }, - "433": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 370, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 25 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 370 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 23 - } - }, - "434": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 31, - "start_line": 25 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 24 - } - }, - "435": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 55, - "start_line": 25 - } - }, - "436": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 25 - } - }, - "438": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 19 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 24 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "439": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 19 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 24 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "440": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_name", - "openzeppelin.token.erc20.library.ERC20_name.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/impl.cairo" - }, - "start_col": 9, - "start_line": 26 - } - }, - "441": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "442": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "443": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 94, - "end_line": 8, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 21, - "start_line": 9 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 19, - "start_line": 8 - } - }, - "445": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - } - }, - "446": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 30, - "start_line": 13 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 12 - } - }, - "447": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 30, - "start_line": 13 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 12 - } - }, - "448": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 30, - "start_line": 13 - } - }, - "450": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 37, - "start_line": 14 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 12 - } - }, - "451": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 58, - "start_line": 14 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 13 - } - }, - "452": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 37, - "start_line": 14 - } - }, - "454": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 31, - "start_line": 16 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 14 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "455": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 32, - "start_line": 17 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 13 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "456": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 35, - "start_line": 18 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 13 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "457": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 45, - "start_line": 19 - }, - "While expanding the reference '__storage_var_temp0' in:" - ], - "start_col": 14, - "start_line": 14 - } - }, - "458": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 20 - } - }, - "459": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 30, - "start_line": 24 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 23 - } - }, - "460": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 30, - "start_line": 24 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 23 - } - }, - "461": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 30, - "start_line": 24 - } - }, - "463": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 370, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 25 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 370 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 23 - } - }, - "464": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 31, - "start_line": 25 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 24 - } - }, - "465": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 55, - "start_line": 25 - } - }, - "466": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 25 - } - }, - "468": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 19 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 24 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "469": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 19 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 24 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "470": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_symbol", - "openzeppelin.token.erc20.library.ERC20_symbol.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/impl.cairo" - }, - "start_col": 9, - "start_line": 26 - } - }, - "471": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "472": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "473": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 94, - "end_line": 8, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 21, - "start_line": 9 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 19, - "start_line": 8 - } - }, - "475": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - } - }, - "476": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 30, - "start_line": 15 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 12 - } - }, - "477": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 30, - "start_line": 15 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 12 - } - }, - "478": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 30, - "start_line": 15 - } - }, - "480": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 37, - "start_line": 16 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 12 - } - }, - "481": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 58, - "start_line": 16 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 15 - } - }, - "482": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 37, - "start_line": 16 - } - }, - "484": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 31, - "start_line": 18 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 16 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "485": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 32, - "start_line": 19 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 15 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "486": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 35, - "start_line": 20 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 15 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "487": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 45, - "start_line": 21 - }, - "While expanding the reference '__storage_var_temp0' in:" - ], - "start_col": 14, - "start_line": 16 - } - }, - "488": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 22 - } - }, - "489": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 30, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 25 - } - }, - "490": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 30, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 25 - } - }, - "491": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 30, - "start_line": 26 - } - }, - "493": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 370, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 27 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 370 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 25 - } - }, - "494": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 31, - "start_line": 27 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 26 - } - }, - "495": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 55, - "start_line": 27 - } - }, - "496": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 27 - } - }, - "498": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 28 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 26 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "499": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 28 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 26 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "500": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_decimals", - "openzeppelin.token.erc20.library.ERC20_decimals.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/impl.cairo" - }, - "start_col": 9, - "start_line": 28 - } - }, - "501": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "502": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "503": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 94, - "end_line": 8, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 21, - "start_line": 9 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 19, - "start_line": 8 - } - }, - "505": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 9 - } - }, - "506": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 30, - "start_line": 15 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 12 - } - }, - "507": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 30, - "start_line": 15 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 12 - } - }, - "508": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 30, - "start_line": 15 - } - }, - "510": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 37, - "start_line": 16 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 12 - } - }, - "511": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 58, - "start_line": 16 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 15 - } - }, - "512": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 37, - "start_line": 16 - } - }, - "514": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 37, - "start_line": 17 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 16 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "515": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 74, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 58, - "start_line": 17 - } - }, - "517": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 37, - "start_line": 17 - } - }, - "519": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 31, - "start_line": 19 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 17 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "520": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 32, - "start_line": 20 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 15 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "521": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 35, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 15 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "522": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 16, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 45, - "start_line": 22 - }, - "While expanding the reference '__storage_var_temp0' in:" - ], - "start_col": 14, - "start_line": 16 - } - }, - "523": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 45, - "start_line": 23 - }, - "While expanding the reference '__storage_var_temp1' in:" - ], - "start_col": 14, - "start_line": 17 - } - }, - "524": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 24 - } - }, - "525": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 30, - "start_line": 28 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 27 - } - }, - "526": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 30, - "start_line": 28 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 27 - } - }, - "527": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 30, - "start_line": 28 - } - }, - "529": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 370, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 29 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 370 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 27 - } - }, - "530": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 31, - "start_line": 29 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 28 - } - }, - "531": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 55, - "start_line": 29 - } - }, - "532": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 29 - } - }, - "534": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 47, - "end_line": 30, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 31, - "start_line": 30 - } - }, - "536": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 30, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 55, - "start_line": 30 - } - }, - "537": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 30, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 30 - } - }, - "539": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 31, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 31 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 28 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "540": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 31, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 31 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 28 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "541": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_total_supply", - "openzeppelin.token.erc20.library.ERC20_total_supply.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 31, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/impl.cairo" - }, - "start_col": 9, - "start_line": 31 - } - }, - "542": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 36, - "start_line": 9 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "543": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 95, - "end_line": 8, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 50, - "start_line": 9 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 19, - "start_line": 8 - } - }, - "545": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 55, - "start_line": 9 - } - }, - "546": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 21, - "start_line": 9 - } - }, - "548": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 21, - "start_line": 10 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 24, - "start_line": 12 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "549": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 17, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 47, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 44, - "start_line": 10 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 14, - "start_line": 9 - } - }, - "550": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 21, - "start_line": 10 - } - }, - "552": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 9, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 11 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 9 - } - }, - "553": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 11 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 10 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 24, - "start_line": 12 - } - }, - "554": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 17, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 21, - "start_line": 11 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 14, - "start_line": 10 - } - }, - "555": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 11 - } - }, - "556": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 30, - "start_line": 17 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 14 - } - }, - "557": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 30, - "start_line": 17 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 14 - } - }, - "558": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 93, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 35, - "start_line": 17 - }, - "While expanding the reference 'account' in:" - ], - "start_col": 80, - "start_line": 14 - } - }, - "559": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 30, - "start_line": 17 - } - }, - "561": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 37, - "start_line": 18 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 14 - } - }, - "562": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 58, - "start_line": 18 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 17 - } - }, - "563": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 37, - "start_line": 18 - } - }, - "565": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 37, - "start_line": 19 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 18 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "566": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 74, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 58, - "start_line": 19 - } - }, - "568": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 37, - "start_line": 19 - } - }, - "570": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 31, - "start_line": 21 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 19 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "571": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 32, - "start_line": 22 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 17 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "572": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 35, - "start_line": 23 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 17 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "573": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 45, - "start_line": 24 - }, - "While expanding the reference '__storage_var_temp0' in:" - ], - "start_col": 14, - "start_line": 18 - } - }, - "574": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 45, - "start_line": 25 - }, - "While expanding the reference '__storage_var_temp1' in:" - ], - "start_col": 14, - "start_line": 19 - } - }, - "575": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 26 - } - }, - "576": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 30, - "start_line": 32 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 29 - } - }, - "577": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 30, - "start_line": 32 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 29 - } - }, - "578": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 30, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 35, - "start_line": 32 - }, - "While expanding the reference 'account' in:" - ], - "start_col": 9, - "start_line": 30 - } - }, - "579": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 30, - "start_line": 32 - } - }, - "581": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 370, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 33, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 33 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 370 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 29 - } - }, - "582": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 33, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 31, - "start_line": 33 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 32 - } - }, - "583": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 33, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 55, - "start_line": 33 - } - }, - "584": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 33, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 33 - } - }, - "586": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 47, - "end_line": 34, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 31, - "start_line": 34 - } - }, - "588": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 34, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 55, - "start_line": 34 - } - }, - "589": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 34, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 34 - } - }, - "591": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 35 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 32 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "592": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 35 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 32 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "593": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_balances", - "openzeppelin.token.erc20.library.ERC20_balances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/impl.cairo" - }, - "start_col": 9, - "start_line": 35 - } - }, - "594": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 36, - "start_line": 11 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "595": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 95, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 50, - "start_line": 11 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 19, - "start_line": 10 - } - }, - "597": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 77, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 55, - "start_line": 11 - } - }, - "598": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 21, - "start_line": 11 - } - }, - "600": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 55, - "start_line": 12 - } - }, - "601": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 21, - "start_line": 12 - } - }, - "603": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 21, - "start_line": 13 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 24, - "start_line": 12 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "604": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 47, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 44, - "start_line": 13 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 14, - "start_line": 12 - } - }, - "605": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 21, - "start_line": 13 - } - }, - "607": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 14 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 12 - } - }, - "608": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 12, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/storage.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 14 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 21, - "start_line": 13 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 24, - "start_line": 12 - } - }, - "609": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 17, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 21, - "start_line": 14 - }, - "While expanding the reference 'res' in:" - ], - "start_col": 14, - "start_line": 13 - } - }, - "610": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.addr" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 14, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 14 - } - }, - "611": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 30, - "start_line": 20 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 17 - } - }, - "612": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 30, - "start_line": 20 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 17 - } - }, - "613": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 35, - "start_line": 20 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 18 - } - }, - "614": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 18, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 42, - "start_line": 20 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 18 - } - }, - "615": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 50, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 30, - "start_line": 20 - } - }, - "617": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 17, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 37, - "start_line": 21 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 17 - } - }, - "618": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 58, - "start_line": 21 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 20 - } - }, - "619": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 37, - "start_line": 21 - } - }, - "621": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 37, - "start_line": 22 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 21 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "622": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 74, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 58, - "start_line": 22 - } - }, - "624": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 37, - "start_line": 22 - } - }, - "626": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 352, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 24, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 31, - "start_line": 24 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 37, - "start_line": 22 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 352 - } - }, - "627": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 25, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 32, - "start_line": 25 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 20 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "628": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 20, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 26, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 35, - "start_line": 26 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 20 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "629": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 27, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 45, - "start_line": 27 - }, - "While expanding the reference '__storage_var_temp0' in:" - ], - "start_col": 14, - "start_line": 21 - } - }, - "630": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 22, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 28, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 45, - "start_line": 28 - }, - "While expanding the reference '__storage_var_temp1' in:" - ], - "start_col": 14, - "start_line": 22 - } - }, - "631": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.read" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 29, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 29 - } - }, - "632": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 30, - "start_line": 35 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 32 - } - }, - "633": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 30, - "start_line": 35 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 32 - } - }, - "634": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 33, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 35, - "start_line": 35 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 33 - } - }, - "635": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 33, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 42, - "start_line": 35 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 33 - } - }, - "636": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 50, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 30, - "start_line": 35 - } - }, - "638": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 32, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 370, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 36, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 36 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 370 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 32 - } - }, - "639": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 36, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 31, - "start_line": 36 - }, - "While expanding the reference 'storage_addr' in:" - ], - "start_col": 14, - "start_line": 35 - } - }, - "640": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 36, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 55, - "start_line": 36 - } - }, - "641": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 36, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 36 - } - }, - "643": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 47, - "end_line": 37, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 31, - "start_line": 37 - } - }, - "645": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 37, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 55, - "start_line": 37 - } - }, - "646": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 37, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 37 - } - }, - "648": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 38, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 38 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 23 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 30, - "start_line": 35 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 15, - "start_line": 7 - } - }, - "649": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 7, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 50, - "end_line": 35, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 38, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 38 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 23 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 30, - "start_line": 35 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 43, - "start_line": 7 - } - }, - "650": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20_allowances", - "openzeppelin.token.erc20.library.ERC20_allowances.write" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 38, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/impl.cairo" - }, - "start_col": 9, - "start_line": 38 - } - }, - "651": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 60, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 63, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 63 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 19 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 22, - "start_line": 60 - } - }, - "652": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 68, - "end_line": 60, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 63, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 63 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 19 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 42, - "start_line": 60 - } - }, - "653": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 85, - "end_line": 60, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 63, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 63 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 19 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 70, - "start_line": 60 - } - }, - "654": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 61, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 30, - "end_line": 63, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 26, - "start_line": 63 - }, - "While expanding the reference 'name' in:" - ], - "start_col": 9, - "start_line": 61 - } - }, - "655": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 63, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 63 - } - }, - "657": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 61, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 64, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 28, - "start_line": 64 - }, - "While expanding the reference 'symbol' in:" - ], - "start_col": 21, - "start_line": 61 - } - }, - "658": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 64, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 64 - } - }, - "660": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 61, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 66, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 23, - "start_line": 66 - }, - "While expanding the reference 'decimals' in:" - ], - "start_col": 35, - "start_line": 61 - } - }, - "661": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 66, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 33, - "start_line": 66 - } - }, - "663": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 66, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 66 - } - }, - "665": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 64, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 68, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 68 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 21 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 9, - "start_line": 64 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 19 - } - }, - "666": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 19, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 64, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 68, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 68 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 9, - "start_line": 64 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 19 - } - }, - "667": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 53, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/math.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 66, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 68, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 68 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 66 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 16, - "start_line": 53 - } - }, - "668": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 61, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 68, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 30, - "start_line": 68 - }, - "While expanding the reference 'decimals' in:" - ], - "start_col": 35, - "start_line": 61 - } - }, - "669": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 68, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 68 - } - }, - "671": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.initializer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 69, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 69 - } - }, - "672": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 76, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 77, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 77 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 76 - } - }, - "673": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 76, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 77, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 77 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 76 - } - }, - "674": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 76, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_name/decl.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 77, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 77 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 13 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 76 - } - }, - "675": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 77, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 77 - } - }, - "677": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 77, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 77 - } - }, - "678": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 80, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 83 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 17, - "start_line": 80 - } - }, - "679": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 80, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 83 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 37, - "start_line": 80 - } - }, - "680": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 80, - "end_line": 80, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_symbol/decl.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 83 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 13 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 65, - "start_line": 80 - } - }, - "681": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 83 - } - }, - "683": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 83, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 83 - } - }, - "684": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.total_supply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 86, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 89, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 89 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 23, - "start_line": 86 - } - }, - "685": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.total_supply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 69, - "end_line": 86, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 89, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 89 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 43, - "start_line": 86 - } - }, - "686": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.total_supply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 86, - "end_line": 86, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 89, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 89 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 13 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 71, - "start_line": 86 - } - }, - "687": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.total_supply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 89, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 89 - } - }, - "689": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.total_supply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 89, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 89 - } - }, - "690": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 92, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 95, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 95 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 92 - } - }, - "691": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 65, - "end_line": 92, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 95, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 95 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 92 - } - }, - "692": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 92, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_decimals/decl.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 95, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 95 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 13 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 92 - } - }, - "693": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 95, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 95 - } - }, - "695": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 95, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 95 - } - }, - "696": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.balance_of" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 98, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 101, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 101 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 21, - "start_line": 98 - } - }, - "697": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.balance_of" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 98, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 101, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 101 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 41, - "start_line": 98 - } - }, - "698": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.balance_of" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 84, - "end_line": 98, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 101, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 101 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 13 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 69, - "start_line": 98 - } - }, - "699": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.balance_of" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 99, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 101, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 36, - "start_line": 101 - }, - "While expanding the reference 'account' in:" - ], - "start_col": 9, - "start_line": 99 - } - }, - "700": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.balance_of" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 101, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 101 - } - }, - "702": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.balance_of" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 101, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 101 - } - }, - "703": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 104, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 107, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 107 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 104 - } - }, - "704": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 66, - "end_line": 104, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 107, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 107 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 40, - "start_line": 104 - } - }, - "705": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 83, - "end_line": 104, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 107, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 107 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 15 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 68, - "start_line": 104 - } - }, - "706": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 105, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 107, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 107 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 105 - } - }, - "707": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 105, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 52, - "end_line": 107, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 45, - "start_line": 107 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 105 - } - }, - "708": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 53, - "end_line": 107, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 16, - "start_line": 107 - } - }, - "710": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 54, - "end_line": 107, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 107 - } - }, - "711": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 110, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 113, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 113 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 110 - } - }, - "712": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 113, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 113 - } - }, - "714": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 113, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 114 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 233 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 113 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - } - }, - "715": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 65, - "end_line": 110, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 66, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 114 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 40, - "start_line": 233 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 110 - } - }, - "716": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 110, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 83, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 114 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 68, - "start_line": 233 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 110 - } - }, - "717": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 113, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 19, - "start_line": 114 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 14, - "start_line": 113 - } - }, - "718": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 111, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 114 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 9, - "start_line": 111 - } - }, - "719": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 111, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 114 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 111 - } - }, - "720": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 111, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 114 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 111 - } - }, - "721": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 114, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 114 - } - }, - "723": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 115, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 25, - "start_line": 115 - } - }, - "725": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 115, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 115 - } - }, - "726": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 118, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 121, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 121 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 118 - } - }, - "727": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 121, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 121 - } - }, - "729": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 121, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 122 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 27, - "start_line": 284 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 121 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - } - }, - "730": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 70, - "end_line": 118, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 73, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 122 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 47, - "start_line": 284 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 118 - } - }, - "731": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 87, - "end_line": 118, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 90, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 122 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 75, - "start_line": 284 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 72, - "start_line": 118 - } - }, - "732": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 119, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 26, - "start_line": 122 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 9, - "start_line": 119 - } - }, - "733": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 121, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 34, - "start_line": 122 - }, - "While expanding the reference 'caller' in:" - ], - "start_col": 14, - "start_line": 121 - } - }, - "734": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 119, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 42, - "start_line": 122 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 119 - } - }, - "735": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 119, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 42, - "start_line": 122 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 119 - } - }, - "736": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 122, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 122 - } - }, - "738": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 119, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 123, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 19, - "start_line": 123 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 9, - "start_line": 119 - } - }, - "739": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 119, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 123, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 123 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 23, - "start_line": 119 - } - }, - "740": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 119, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 123, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 123 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 119 - } - }, - "741": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 119, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 123, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 123 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 119 - } - }, - "742": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 123, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 123 - } - }, - "744": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 124, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 25, - "start_line": 124 - } - }, - "746": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.transfer_from" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 124, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 124 - } - }, - "747": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 81, - "end_line": 127, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 131, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 131 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 66, - "start_line": 127 - } - }, - "748": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 128, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 131, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 131 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 24, - "start_line": 128 - } - }, - "749": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 128, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 131, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 131 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 24, - "start_line": 128 - } - }, - "750": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 131, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 131 - } - }, - "752": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 127, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 134, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 134 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 18, - "start_line": 127 - } - }, - "753": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 134, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 134 - } - }, - "755": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 134, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 135 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 264 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 134 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - } - }, - "756": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 127, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 135 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 264 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 38, - "start_line": 127 - } - }, - "757": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 131, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 135 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 264 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 131 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - } - }, - "758": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 134, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 18, - "start_line": 135 - }, - "While expanding the reference 'caller' in:" - ], - "start_col": 14, - "start_line": 134 - } - }, - "759": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 128, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 26, - "start_line": 135 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 9, - "start_line": 128 - } - }, - "760": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 128, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 135 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 24, - "start_line": 128 - } - }, - "761": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 128, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 135 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 24, - "start_line": 128 - } - }, - "762": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 135, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 135 - } - }, - "764": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 136, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 25, - "start_line": 136 - } - }, - "766": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 136, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 136 - } - }, - "767": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 92, - "end_line": 139, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 143, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 143 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 77, - "start_line": 139 - } - }, - "768": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 140, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 143, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 143 - }, - "While expanding the reference 'added_value' in:" - ], - "start_col": 24, - "start_line": 140 - } - }, - "769": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 140, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 143, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 143 - }, - "While expanding the reference 'added_value' in:" - ], - "start_col": 24, - "start_line": 140 - } - }, - "770": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 143, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 143 - } - }, - "772": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 47, - "end_line": 139, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 146, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 146 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 29, - "start_line": 139 - } - }, - "773": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 146, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 146 - } - }, - "775": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 146, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 147 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 146 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - } - }, - "776": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 139, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 147 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 49, - "start_line": 139 - } - }, - "777": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 143, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 147 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 15 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 143 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - } - }, - "778": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 146, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 72, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 66, - "start_line": 147 - }, - "While expanding the reference 'caller' in:" - ], - "start_col": 14, - "start_line": 146 - } - }, - "779": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 140, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 74, - "start_line": 147 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 9, - "start_line": 140 - } - }, - "780": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 147 - } - }, - "782": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 140, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 90, - "end_line": 151, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 79, - "start_line": 151 - }, - "While expanding the reference 'added_value' in:" - ], - "start_col": 24, - "start_line": 140 - } - }, - "783": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 140, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 90, - "end_line": 151, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 79, - "start_line": 151 - }, - "While expanding the reference 'added_value' in:" - ], - "start_col": 24, - "start_line": 140 - } - }, - "784": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 91, - "end_line": 151, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 151 - } - }, - "786": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 154 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 264 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 44, - "start_line": 147 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - } - }, - "787": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 147, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 154 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 264 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 147 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - } - }, - "788": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 91, - "end_line": 151, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 154 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 264 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 44, - "start_line": 151 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 14, - "start_line": 23 - } - }, - "789": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 146, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 18, - "start_line": 154 - }, - "While expanding the reference 'caller' in:" - ], - "start_col": 14, - "start_line": 146 - } - }, - "790": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 140, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 26, - "start_line": 154 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 9, - "start_line": 140 - } - }, - "791": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 151, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 154 - }, - "While expanding the reference 'new_allowance' in:" - ], - "start_col": 18, - "start_line": 151 - } - }, - "792": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 151, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 154 - }, - "While expanding the reference 'new_allowance' in:" - ], - "start_col": 18, - "start_line": 151 - } - }, - "793": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 154, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 154 - } - }, - "795": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 155, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 25, - "start_line": 155 - } - }, - "797": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.increase_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 155, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 155 - } - }, - "798": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 161, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 161 - } - }, - "800": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 92, - "end_line": 158, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 163, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 163 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 77, - "start_line": 158 - } - }, - "801": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 159, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 163, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 163 - }, - "While expanding the reference 'subtracted_value' in:" - ], - "start_col": 24, - "start_line": 159 - } - }, - "802": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 159, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 163, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 163 - }, - "While expanding the reference 'subtracted_value' in:" - ], - "start_col": 24, - "start_line": 159 - } - }, - "803": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 163, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 163 - } - }, - "805": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 47, - "end_line": 158, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 166, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 166 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 29, - "start_line": 158 - } - }, - "806": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 166, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 24, - "start_line": 166 - } - }, - "808": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 200, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/starknet/common/syscalls.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 166, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 167 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 166 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 25, - "start_line": 200 - } - }, - "809": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 75, - "end_line": 158, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 167 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 49, - "start_line": 158 - } - }, - "810": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 163, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 167 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 15 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 163 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - } - }, - "811": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 166, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 72, - "start_line": 167 - }, - "While expanding the reference 'caller' in:" - ], - "start_col": 14, - "start_line": 166 - } - }, - "812": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 159, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 95, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 88, - "start_line": 167 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 9, - "start_line": 159 - } - }, - "813": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 96, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 167 - } - }, - "815": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 159, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 98, - "end_line": 170, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 82, - "start_line": 170 - }, - "While expanding the reference 'subtracted_value' in:" - ], - "start_col": 24, - "start_line": 159 - } - }, - "816": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 159, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 98, - "end_line": 170, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 82, - "start_line": 170 - }, - "While expanding the reference 'subtracted_value' in:" - ], - "start_col": 24, - "start_line": 159 - } - }, - "817": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 99, - "end_line": 170, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 170 - } - }, - "819": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 173 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 264 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 44, - "start_line": 167 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - } - }, - "820": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 167, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 173 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 264 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 167 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - } - }, - "821": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 99, - "end_line": 170, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 173 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 264 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 44, - "start_line": 170 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 35 - } - }, - "822": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 166, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 18, - "start_line": 173 - }, - "While expanding the reference 'caller' in:" - ], - "start_col": 14, - "start_line": 166 - } - }, - "823": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 159, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 26, - "start_line": 173 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 9, - "start_line": 159 - } - }, - "824": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 170, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 173 - }, - "While expanding the reference 'new_allowance' in:" - ], - "start_col": 18, - "start_line": 170 - } - }, - "825": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 170, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 173 - }, - "While expanding the reference 'new_allowance' in:" - ], - "start_col": 18, - "start_line": 170 - } - }, - "826": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 173, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 173 - } - }, - "828": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 174, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 25, - "start_line": 174 - } - }, - "830": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20.decrease_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 174, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 174 - } - }, - "831": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 181, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 185, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 185 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 181 - } - }, - "832": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 185, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 185 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "833": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 185, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 185 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "834": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 185, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 185 - } - }, - "836": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 189, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 29, - "start_line": 189 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 9, - "start_line": 182 - } - }, - "837": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 189, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 189 - } - }, - "839": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 181, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 192, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 33, - "start_line": 192 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 181 - } - }, - "840": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 181, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 192, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 33, - "start_line": 192 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 181 - } - }, - "841": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 185, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 192, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 33, - "start_line": 192 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 13 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 185 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - } - }, - "842": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 192, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 33, - "start_line": 192 - } - }, - "844": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 71, - "end_line": 194, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 65, - "start_line": 194 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "845": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 71, - "end_line": 194, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 65, - "start_line": 194 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "846": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 194, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 194 - } - }, - "848": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 192, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 196, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 196 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 21 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 33, - "start_line": 192 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - } - }, - "849": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 192, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 196, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 196 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 33, - "start_line": 192 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - } - }, - "850": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 72, - "end_line": 194, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_total_supply/decl.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 196, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 196 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 41, - "start_line": 194 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 14, - "start_line": 23 - } - }, - "851": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 194, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 196, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 34, - "start_line": 196 - }, - "While expanding the reference 'new_supply' in:" - ], - "start_col": 18, - "start_line": 194 - } - }, - "852": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 194, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 196, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 34, - "start_line": 196 - }, - "While expanding the reference 'new_supply' in:" - ], - "start_col": 18, - "start_line": 194 - } - }, - "853": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 196, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 196 - } - }, - "855": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 71, - "end_line": 198, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 62, - "start_line": 198 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 9, - "start_line": 182 - } - }, - "856": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 198, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 34, - "start_line": 198 - } - }, - "858": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 69, - "end_line": 201, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 63, - "start_line": 201 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "859": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 69, - "end_line": 201, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 63, - "start_line": 201 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "860": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 70, - "end_line": 201, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 201 - } - }, - "862": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 72, - "end_line": 198, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 202 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 21 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 34, - "start_line": 198 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - } - }, - "863": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 72, - "end_line": 198, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 202 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 34, - "start_line": 198 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - } - }, - "864": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 201, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 202 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 38, - "start_line": 201 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 14, - "start_line": 23 - } - }, - "865": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 30, - "start_line": 202 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 9, - "start_line": 182 - } - }, - "866": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 201, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 52, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 202 - }, - "While expanding the reference 'new_balance' in:" - ], - "start_col": 14, - "start_line": 201 - } - }, - "867": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 201, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 52, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 202 - }, - "While expanding the reference 'new_balance' in:" - ], - "start_col": 14, - "start_line": 201 - } - }, - "868": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 53, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 202 - } - }, - "870": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 204 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 9, - "start_line": 202 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 21 - } - }, - "871": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 204 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 9, - "start_line": 202 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - } - }, - "872": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 23, - "start_line": 204 - } - }, - "874": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 26, - "start_line": 204 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 9, - "start_line": 182 - } - }, - "875": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 37, - "start_line": 204 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "876": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 41, - "end_line": 182, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 37, - "start_line": 204 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 26, - "start_line": 182 - } - }, - "877": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 204 - } - }, - "879": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 181, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 205, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 205 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 181 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 9, - "start_line": 204 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - } - }, - "880": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 53, - "end_line": 202, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 181, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 205, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 205 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 181 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 9, - "start_line": 202 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - } - }, - "881": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 204, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 181, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 205, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 205 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 181 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 9, - "start_line": 204 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - } - }, - "882": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._mint" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 205, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 205 - } - }, - "883": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 83, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 237, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 237 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 68, - "start_line": 233 - } - }, - "884": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 237, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 237 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "885": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 237, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 237 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "886": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 237, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 237 - } - }, - "888": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 241, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 29, - "start_line": 241 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 9, - "start_line": 234 - } - }, - "889": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 241, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 241 - } - }, - "891": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 245, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 29, - "start_line": 245 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 23, - "start_line": 234 - } - }, - "892": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 39, - "end_line": 245, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 245 - } - }, - "894": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 76, - "end_line": 248, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 248 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 233 - } - }, - "895": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 66, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 76, - "end_line": 248, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 248 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 40, - "start_line": 233 - } - }, - "896": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 237, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 76, - "end_line": 248, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 248 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 13 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 237 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - } - }, - "897": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 248, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 69, - "start_line": 248 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 9, - "start_line": 234 - } - }, - "898": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 76, - "end_line": 248, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 248 - } - }, - "900": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 90, - "end_line": 250, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 84, - "start_line": 250 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "901": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 90, - "end_line": 250, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 84, - "start_line": 250 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "902": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 91, - "end_line": 250, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 49, - "start_line": 250 - } - }, - "904": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 76, - "end_line": 248, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 253, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 253 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 21 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 41, - "start_line": 248 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - } - }, - "905": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 76, - "end_line": 248, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 253, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 253 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 41, - "start_line": 248 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - } - }, - "906": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 91, - "end_line": 250, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 253, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 253 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 49, - "start_line": 250 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 35 - } - }, - "907": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 253, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 30, - "start_line": 253 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 9, - "start_line": 234 - } - }, - "908": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 250, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 56, - "end_line": 253, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 253 - }, - "While expanding the reference 'new_sender_balance' in:" - ], - "start_col": 18, - "start_line": 250 - } - }, - "909": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 250, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 56, - "end_line": 253, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 253 - }, - "While expanding the reference 'new_sender_balance' in:" - ], - "start_col": 18, - "start_line": 250 - } - }, - "910": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 57, - "end_line": 253, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 253 - } - }, - "912": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 256, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 72, - "start_line": 256 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 23, - "start_line": 234 - } - }, - "913": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 256, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 256 - } - }, - "915": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 89, - "end_line": 258, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 83, - "start_line": 258 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "916": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 89, - "end_line": 258, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 83, - "start_line": 258 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "917": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 90, - "end_line": 258, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 48, - "start_line": 258 - } - }, - "919": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 256, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 259 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 21 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 44, - "start_line": 256 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 13 - } - }, - "920": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 13, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 256, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 259 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 256 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 13 - } - }, - "921": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 23, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 90, - "end_line": 258, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 259 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 48, - "start_line": 258 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 14, - "start_line": 23 - } - }, - "922": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 30, - "start_line": 259 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 23, - "start_line": 234 - } - }, - "923": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 258, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 259 - }, - "While expanding the reference 'new_recipient_balance' in:" - ], - "start_col": 14, - "start_line": 258 - } - }, - "924": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 258, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 41, - "start_line": 259 - }, - "While expanding the reference 'new_recipient_balance' in:" - ], - "start_col": 14, - "start_line": 258 - } - }, - "925": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 259 - } - }, - "927": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 260 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 9, - "start_line": 259 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 21 - } - }, - "928": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 260 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 9, - "start_line": 259 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 21 - } - }, - "929": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 23, - "start_line": 260 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 9, - "start_line": 234 - } - }, - "930": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 31, - "start_line": 260 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 23, - "start_line": 234 - } - }, - "931": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 42, - "start_line": 260 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "932": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 234, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 48, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 42, - "start_line": 260 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 40, - "start_line": 234 - } - }, - "933": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 260 - } - }, - "935": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 261, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 261 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 233 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 9, - "start_line": 260 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - } - }, - "936": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 21, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_balances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 259, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 66, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 261, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 261 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 40, - "start_line": 233 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 9, - "start_line": 259 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 21 - } - }, - "937": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Transfer/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 20, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 260, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 83, - "end_line": 233, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 261, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 261 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 68, - "start_line": 233 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 9, - "start_line": 260 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 20 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - } - }, - "938": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 261, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 261 - } - }, - "939": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 268, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 268 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 264 - } - }, - "940": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 268, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 268 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 265 - } - }, - "941": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 268, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 268 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 265 - } - }, - "942": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 268, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 268 - } - }, - "944": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 272, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 29, - "start_line": 272 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 265 - } - }, - "945": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 272, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 272 - } - }, - "947": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 276, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 29, - "start_line": 276 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 265 - } - }, - "948": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 276, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 276 - } - }, - "950": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 279 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 23 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 264 - } - }, - "951": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 65, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 279 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 23 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 264 - } - }, - "952": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 268, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 279 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 23 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 268 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - } - }, - "953": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 32, - "start_line": 279 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 265 - } - }, - "954": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 39, - "start_line": 279 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 265 - } - }, - "955": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 54, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 48, - "start_line": 279 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 265 - } - }, - "956": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 54, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 48, - "start_line": 279 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 265 - } - }, - "957": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 279 - } - }, - "959": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 280 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 9, - "start_line": 279 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 23 - } - }, - "960": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 280 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 9, - "start_line": 279 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 23 - } - }, - "961": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 28, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 23, - "start_line": 280 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 265 - } - }, - "962": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 30, - "start_line": 280 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 265 - } - }, - "963": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 39, - "start_line": 280 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 265 - } - }, - "964": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 265, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 39, - "start_line": 280 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 265 - } - }, - "965": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 280 - } - }, - "967": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 281, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 281 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 264 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 9, - "start_line": 280 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 11, - "start_line": 1 - } - }, - "968": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 23, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 279, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 281, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 281 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 264 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 9, - "start_line": 279 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 23 - } - }, - "969": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/event/Approval/a7a8ae41be29ac9f4f6c3b7837c448d787ca051dd1ade98f409e54d33d112504.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 24, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 280, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 281, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 281 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 264 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 9, - "start_line": 280 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 24 - }, - "While handling event:" - ], - "start_col": 31, - "start_line": 1 - } - }, - "970": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 281, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 281 - } - }, - "971": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 22, - "end_line": 287, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 287 - } - }, - "973": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 90, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 289, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 289 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 75, - "start_line": 284 - } - }, - "974": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 289, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 289 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 285 - } - }, - "975": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 289, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 27, - "start_line": 289 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 285 - } - }, - "976": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 289, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 289 - } - }, - "978": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 292 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 27, - "start_line": 284 - } - }, - "979": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 73, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 292 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 47, - "start_line": 284 - } - }, - "980": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 21, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 289, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 292 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 15 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 13, - "start_line": 289 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 20, - "start_line": 21 - } - }, - "981": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 71, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 66, - "start_line": 292 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 285 - } - }, - "982": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 73, - "start_line": 292 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 285 - } - }, - "983": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 292 - } - }, - "985": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 14, - "start_line": 292 - }, - "While auto generating local variable for 'current_allowance'." - ], - "start_col": 14, - "start_line": 292 - } - }, - "986": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 14, - "start_line": 292 - }, - "While auto generating local variable for 'current_allowance'." - ], - "start_col": 14, - "start_line": 292 - } - }, - "987": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - }, - "While auto generating local variable for 'syscall_ptr'." - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - } - }, - "988": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - }, - "While auto generating local variable for 'pedersen_ptr'." - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - } - }, - "989": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 284, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 293, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 293 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 284 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 15 - } - }, - "990": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 56, - "end_line": 293, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 55, - "start_line": 293 - } - }, - "992": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 59, - "end_line": 293, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 58, - "start_line": 293 - } - }, - "994": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 293, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 293 - } - }, - "996": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 284, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 293, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 74, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 294 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 35, - "start_line": 293 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 18, - "start_line": 284 - } - }, - "997": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 46, - "start_line": 294 - }, - "While expanding the reference 'current_allowance' in:" - ], - "start_col": 14, - "start_line": 292 - }, - "While auto generating local variable for 'current_allowance'." - ], - "start_col": 14, - "start_line": 292 - } - }, - "998": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 46, - "start_line": 294 - }, - "While expanding the reference 'current_allowance' in:" - ], - "start_col": 14, - "start_line": 292 - }, - "While auto generating local variable for 'current_allowance'." - ], - "start_col": 14, - "start_line": 292 - } - }, - "999": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 293, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 73, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 65, - "start_line": 294 - }, - "While expanding the reference 'infinite' in:" - ], - "start_col": 14, - "start_line": 293 - } - }, - "1000": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 293, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 73, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 65, - "start_line": 294 - }, - "While expanding the reference 'infinite' in:" - ], - "start_col": 14, - "start_line": 293 - } - }, - "1001": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 74, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 35, - "start_line": 294 - } - }, - "1003": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 11, - "end_line": 296, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 296 - } - }, - "1005": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 74, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 93, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 48, - "start_line": 298 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 35 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 35, - "start_line": 294 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - } - }, - "1006": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 84, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 67, - "start_line": 298 - }, - "While expanding the reference 'current_allowance' in:" - ], - "start_col": 14, - "start_line": 292 - }, - "While auto generating local variable for 'current_allowance'." - ], - "start_col": 14, - "start_line": 292 - } - }, - "1007": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 84, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 67, - "start_line": 298 - }, - "While expanding the reference 'current_allowance' in:" - ], - "start_col": 14, - "start_line": 292 - }, - "While auto generating local variable for 'current_allowance'." - ], - "start_col": 14, - "start_line": 292 - } - }, - "1008": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 92, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 86, - "start_line": 298 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 285 - } - }, - "1009": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 92, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 86, - "start_line": 298 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 37, - "start_line": 285 - } - }, - "1010": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 93, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 48, - "start_line": 298 - } - }, - "1012": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 52, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 301 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 264 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - }, - "While auto generating local variable for 'syscall_ptr'." - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - } - }, - "1013": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 52, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 301 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 264 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - }, - "While auto generating local variable for 'pedersen_ptr'." - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - } - }, - "1014": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 35, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/security/safemath/library.cairo" - }, - "parent_location": [ - { - "end_col": 93, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 264, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 52, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 301 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 264 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 48, - "start_line": 298 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 35 - } - }, - "1015": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 27, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 22, - "start_line": 301 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 9, - "start_line": 285 - } - }, - "1016": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 285, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 29, - "start_line": 301 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 22, - "start_line": 285 - } - }, - "1017": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 51, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 301 - }, - "While expanding the reference 'new_allowance' in:" - ], - "start_col": 22, - "start_line": 298 - } - }, - "1018": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 298, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 51, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 38, - "start_line": 301 - }, - "While expanding the reference 'new_allowance' in:" - ], - "start_col": 22, - "start_line": 298 - } - }, - "1019": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 52, - "end_line": 301, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 301 - } - }, - "1021": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 23, - "end_line": 302, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 13, - "start_line": 302 - } - }, - "1022": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 304, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 304 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 27, - "start_line": 284 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - }, - "While auto generating local variable for 'syscall_ptr'." - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 15 - } - }, - "1023": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 15, - "input_file": { - "filename": "autogen/starknet/storage_var/ERC20_allowances/decl.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 292, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 73, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 304, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 304 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 47, - "start_line": 284 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - }, - "While auto generating local variable for 'pedersen_ptr'." - ], - "start_col": 44, - "start_line": 292 - }, - "While trying to update the implicit return value 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 15 - } - }, - "1024": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 357, - "input_file": { - "filename": "/home/kari/cairo_venv/lib/python3.9/site-packages/starkware/cairo/common/uint256.cairo" - }, - "parent_location": [ - { - "end_col": 74, - "end_line": 294, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 90, - "end_line": 284, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 304, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 304 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 75, - "start_line": 284 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 35, - "start_line": 294 - }, - "While trying to update the implicit return value 'range_check_ptr' in:" - ], - "start_col": 17, - "start_line": 357 - } - }, - "1025": { - "accessible_scopes": [ - "openzeppelin.token.erc20.library", - "openzeppelin.token.erc20.library.ERC20", - "openzeppelin.token.erc20.library.ERC20._spend_allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 19, - "end_line": 304, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "start_col": 9, - "start_line": 304 - } - }, - "1026": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 60, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 15, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 15 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 22, - "start_line": 60 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 18, - "start_line": 12 - } - }, - "1027": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 68, - "end_line": 60, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 15, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 15 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 42, - "start_line": 60 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 38, - "start_line": 12 - } - }, - "1028": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 81, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 85, - "end_line": 60, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 46, - "end_line": 15, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 15 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 70, - "start_line": 60 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 66, - "start_line": 12 - } - }, - "1029": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 27, - "end_line": 15, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 23, - "start_line": 15 - }, - "While expanding the reference 'name' in:" - ], - "start_col": 5, - "start_line": 13 - } - }, - "1030": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 15, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 29, - "start_line": 15 - }, - "While expanding the reference 'symbol' in:" - ], - "start_col": 17, - "start_line": 13 - } - }, - "1031": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 15, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 37, - "start_line": 15 - }, - "While expanding the reference 'decimals' in:" - ], - "start_col": 31, - "start_line": 13 - } - }, - "1032": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 15, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 15 - } - }, - "1034": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 87, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 16, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 17, - "start_line": 16 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 72, - "start_line": 13 - } - }, - "1035": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 70, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 16, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 28, - "start_line": 16 - }, - "While expanding the reference 'initial_supply' in:" - ], - "start_col": 47, - "start_line": 13 - } - }, - "1036": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 70, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 16, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 28, - "start_line": 16 - }, - "While expanding the reference 'initial_supply' in:" - ], - "start_col": 47, - "start_line": 13 - } - }, - "1037": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 16, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 16 - } - }, - "1039": { - "accessible_scopes": ["__main__", "__main__", "__main__.constructor"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 17, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 17 - } - }, - "1040": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" - }, - "parent_location": [ - { - "end_col": 87, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 12 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 72, - "start_line": 13 - }, - "While handling calldata argument 'recipient'" - ], - "start_col": 22, - "start_line": 2 - } - }, - "1042": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1043": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 18, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1044": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 38, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1045": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 66, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1046": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/e1eb73cd870ec466294c3700e77817cf3c039ac1384882ddb76383eb87a5da90.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 141, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 122, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_name' in:" - ], - "start_col": 5, - "start_line": 13 - }, - "While handling calldata argument 'name'" - ], - "start_col": 27, - "start_line": 1 - } - }, - "1047": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/99058c0781745b3c0332799d723549974cbf489b623dde03906204304de60803.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 171, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 150, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_symbol' in:" - ], - "start_col": 17, - "start_line": 13 - }, - "While handling calldata argument 'symbol'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1048": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 47, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/95ae8cb44b0755388c1e634980ee8b2634c31b1a198c799f64c304663bce699a.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 205, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 182, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_decimals' in:" - ], - "start_col": 31, - "start_line": 13 - }, - "While handling calldata argument 'decimals'" - ], - "start_col": 31, - "start_line": 1 - } - }, - "1049": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/0f412f121f4d99c455cd9caefc2f5203633f41332d4df4e5f8fdc3b70e62b4ba.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 251, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 222, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_initial_supply' in:" - ], - "start_col": 47, - "start_line": 13 - }, - "While handling calldata argument 'initial_supply'" - ], - "start_col": 37, - "start_line": 1 - } - }, - "1050": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/0f412f121f4d99c455cd9caefc2f5203633f41332d4df4e5f8fdc3b70e62b4ba.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 251, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 222, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_initial_supply' in:" - ], - "start_col": 47, - "start_line": 13 - }, - "While handling calldata argument 'initial_supply'" - ], - "start_col": 37, - "start_line": 1 - } - }, - "1051": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" - }, - "parent_location": [ - { - "end_col": 87, - "end_line": 13, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 287, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 263, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_recipient' in:" - ], - "start_col": 72, - "start_line": 13 - }, - "While handling calldata argument 'recipient'" - ], - "start_col": 32, - "start_line": 1 - } - }, - "1052": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - } - }, - "1054": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 34, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 2 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 24, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 3 - } - }, - "1056": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1057": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1058": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1059": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 4 - } - }, - "1061": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 16, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/constructor/18af0aeacb06c273ab7970840961271a962fb63dfa5034f6b0977c325193201d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 3 - } - }, - "1062": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/constructor/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 12, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 12 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1063": { - "accessible_scopes": ["__main__", "__main__", "__main__.name"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 76, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 26, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 76 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 11, - "start_line": 25 - } - }, - "1064": { - "accessible_scopes": ["__main__", "__main__", "__main__.name"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 57, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 76, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 26, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 76 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 31, - "start_line": 25 - } - }, - "1065": { - "accessible_scopes": ["__main__", "__main__", "__main__.name"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 74, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 76, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 24, - "end_line": 26, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 26 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 76 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 59, - "start_line": 25 - } - }, - "1066": { - "accessible_scopes": ["__main__", "__main__", "__main__.name"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 24, - "end_line": 26, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 26 - } - }, - "1068": { - "accessible_scopes": ["__main__", "__main__", "__main__.name"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 25, - "end_line": 26, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 26 - } - }, - "1069": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1071": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/6f345e20daf86e05c346aa1f6a9eeaa296a59eb71a12784c017d25ed5b25ff32.cairo" - }, - "parent_location": [ - { - "end_col": 92, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 82, - "start_line": 25 - }, - "While handling return value 'name'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1072": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/6f345e20daf86e05c346aa1f6a9eeaa296a59eb71a12784c017d25ed5b25ff32.cairo" - }, - "parent_location": [ - { - "end_col": 92, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 82, - "start_line": 25 - }, - "While handling return value 'name'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1074": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 65, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 50, - "start_line": 1 - } - }, - "1075": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1076": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1077": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/name/c8fcd0b2b3f24b16bed33f1349d99fe0bde24b7764fe1bdc31d37b9ddca24adc.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1078": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1079": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 29, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 11, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1080": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 31, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1081": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 74, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 59, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1082": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - } - }, - "1084": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 93, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 78, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1085": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 94, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1087": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1088": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1089": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1090": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1091": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/name/3034a84ffbc2cc9a83b0bdb0bf6aadae87a5c63f8544f4bc76a18d60221f0e94.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1092": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/name/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 10, - "end_line": 25, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 25 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1093": { - "accessible_scopes": ["__main__", "__main__", "__main__.symbol"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 80, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 31, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 31 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 17, - "start_line": 80 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 13, - "start_line": 30 - } - }, - "1094": { - "accessible_scopes": ["__main__", "__main__", "__main__.symbol"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 59, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 80, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 31, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 31 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 37, - "start_line": 80 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 33, - "start_line": 30 - } - }, - "1095": { - "accessible_scopes": ["__main__", "__main__", "__main__.symbol"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 76, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 80, - "end_line": 80, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 26, - "end_line": 31, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 31 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 65, - "start_line": 80 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 61, - "start_line": 30 - } - }, - "1096": { - "accessible_scopes": ["__main__", "__main__", "__main__.symbol"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 26, - "end_line": 31, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 31 - } - }, - "1098": { - "accessible_scopes": ["__main__", "__main__", "__main__.symbol"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 27, - "end_line": 31, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 31 - } - }, - "1099": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1101": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/3635b1d7caa543a52376beeb37a143262ea6ffdf923d8e3676d9b27787e943c8.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 84, - "start_line": 30 - }, - "While handling return value 'symbol'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1102": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/3635b1d7caa543a52376beeb37a143262ea6ffdf923d8e3676d9b27787e943c8.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 84, - "start_line": 30 - }, - "While handling return value 'symbol'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1104": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 69, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 54, - "start_line": 1 - } - }, - "1105": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1106": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1107": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/symbol/a0ae85480af0490479ac55aa0fb10c479d3c551bd5d0b449dafe97eed061cca1.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1108": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1109": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 13, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1110": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 59, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 33, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1111": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 76, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 61, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1112": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - } - }, - "1114": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 95, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 80, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1115": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 96, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1117": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1118": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1119": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1120": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1121": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/symbol/d8aa55fbbc45562d781915a1c7930fc50b33d8bd29db7102b5c44cbfd8b54639.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1122": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/symbol/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 12, - "end_line": 30, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 30 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1123": { - "accessible_scopes": ["__main__", "__main__", "__main__.totalSupply"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 36, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 86, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 54, - "end_line": 38, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 34, - "start_line": 38 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 23, - "start_line": 86 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 18, - "start_line": 35 - } - }, - "1124": { - "accessible_scopes": ["__main__", "__main__", "__main__.totalSupply"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 69, - "end_line": 86, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 54, - "end_line": 38, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 34, - "start_line": 38 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 43, - "start_line": 86 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 38, - "start_line": 35 - } - }, - "1125": { - "accessible_scopes": ["__main__", "__main__", "__main__.totalSupply"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 81, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 86, - "end_line": 86, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 54, - "end_line": 38, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 34, - "start_line": 38 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 71, - "start_line": 86 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 66, - "start_line": 35 - } - }, - "1126": { - "accessible_scopes": ["__main__", "__main__", "__main__.totalSupply"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 54, - "end_line": 38, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 34, - "start_line": 38 - } - }, - "1128": { - "accessible_scopes": ["__main__", "__main__", "__main__.totalSupply"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 39, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 39 - } - }, - "1129": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1131": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 36, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 36 - }, - "While handling return value 'totalSupply'" - ], - "start_col": 1, - "start_line": 3 - } - }, - "1132": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 36, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 36 - }, - "While handling return value 'totalSupply'" - ], - "start_col": 1, - "start_line": 4 - } - }, - "1133": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/arg_processor/9822619206729a9eadcae854c851238a68f93e9dbd956bc4fa147da27ae12e2e.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 36, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 5, - "start_line": 36 - }, - "While handling return value 'totalSupply'" - ], - "start_col": 26, - "start_line": 5 - } - }, - "1135": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 113, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 98, - "start_line": 1 - } - }, - "1136": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1137": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1138": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/totalSupply/eeeda446bdea67b39cd9f67678f4dfc35c6c1d0744df18691bf4ede77f67f604.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1139": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1140": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 18, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1141": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 38, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1142": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 66, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1143": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - } - }, - "1145": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 100, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 85, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1146": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 101, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1148": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1149": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1150": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1151": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1152": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/f9521ee04dab7f503e72addd131262b31983f1e13ea962eb0b121959d1008326.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1153": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/totalSupply/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 35, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 35 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1154": { - "accessible_scopes": ["__main__", "__main__", "__main__.decimals"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 92, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 28, - "end_line": 46, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 46 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 92 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 43 - } - }, - "1155": { - "accessible_scopes": ["__main__", "__main__", "__main__.decimals"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 92, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 28, - "end_line": 46, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 46 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 92 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 43 - } - }, - "1156": { - "accessible_scopes": ["__main__", "__main__", "__main__.decimals"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 92, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 28, - "end_line": 46, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 46 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 92 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 43 - } - }, - "1157": { - "accessible_scopes": ["__main__", "__main__", "__main__.decimals"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 28, - "end_line": 46, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 46 - } - }, - "1159": { - "accessible_scopes": ["__main__", "__main__", "__main__.decimals"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 29, - "end_line": 46, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 46 - } - }, - "1160": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1162": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 50, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/a81bcec621a2ff03486299e6a77ac9e0b035697b74f8a9b599dbb1c25229a3e2.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 44, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 44 - }, - "While handling return value 'decimals'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1163": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/a81bcec621a2ff03486299e6a77ac9e0b035697b74f8a9b599dbb1c25229a3e2.cairo" - }, - "parent_location": [ - { - "end_col": 19, - "end_line": 44, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 5, - "start_line": 44 - }, - "While handling return value 'decimals'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1165": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 73, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 58, - "start_line": 1 - } - }, - "1166": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1167": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1168": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/decimals/a97d2b6786c76802562faf3a37a632fd604ff18dde35a5c92ee6960b683ee2dd.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1169": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1170": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1171": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1172": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1173": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - } - }, - "1175": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 97, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 82, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1176": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 98, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1178": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1179": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1180": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1181": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1182": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decimals/b895732858337deae88cb0106f94dcac8575befa3b4c84c0fc6c096df9053938.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1183": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decimals/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 43, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 43 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1184": { - "accessible_scopes": ["__main__", "__main__", "__main__.balanceOf"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 39, - "end_line": 98, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 53, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 53 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 21, - "start_line": 98 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 50 - } - }, - "1185": { - "accessible_scopes": ["__main__", "__main__", "__main__.balanceOf"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 67, - "end_line": 98, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 53, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 53 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 41, - "start_line": 98 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 50 - } - }, - "1186": { - "accessible_scopes": ["__main__", "__main__", "__main__.balanceOf"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 84, - "end_line": 98, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 53, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 53 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 69, - "start_line": 98 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 50 - } - }, - "1187": { - "accessible_scopes": ["__main__", "__main__", "__main__.balanceOf"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 94, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 53, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 29, - "start_line": 53 - }, - "While expanding the reference 'account' in:" - ], - "start_col": 81, - "start_line": 50 - } - }, - "1188": { - "accessible_scopes": ["__main__", "__main__", "__main__.balanceOf"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 53, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 53 - } - }, - "1190": { - "accessible_scopes": ["__main__", "__main__", "__main__.balanceOf"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 38, - "end_line": 53, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 53 - } - }, - "1191": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1193": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" - }, - "parent_location": [ - { - "end_col": 21, - "end_line": 51, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 51 - }, - "While handling return value 'balance'" - ], - "start_col": 1, - "start_line": 3 - } - }, - "1194": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" - }, - "parent_location": [ - { - "end_col": 21, - "end_line": 51, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 51 - }, - "While handling return value 'balance'" - ], - "start_col": 1, - "start_line": 4 - } - }, - "1195": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/arg_processor/f013cc89754bf613d36aa163a5014b518987d20a85394ebbe3c47c5cdb0a38b1.cairo" - }, - "parent_location": [ - { - "end_col": 21, - "end_line": 51, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 5, - "start_line": 51 - }, - "While handling return value 'balance'" - ], - "start_col": 26, - "start_line": 5 - } - }, - "1197": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 107, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 92, - "start_line": 1 - } - }, - "1198": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1199": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1200": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/balanceOf/6be46755be2f937558932379e9c42b1ab153e2ba499cd66beb178511b2106ad9.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1201": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo" - }, - "parent_location": [ - { - "end_col": 94, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 81, - "start_line": 50 - }, - "While handling calldata argument 'account'" - ], - "start_col": 22, - "start_line": 2 - } - }, - "1203": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1204": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1205": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1206": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1207": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/e4d5d41a9286852ceee2d8a1fbac026532bda7bb0e3a6ccfcbfb5e7dd12aa070.cairo" - }, - "parent_location": [ - { - "end_col": 94, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 147, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 125, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_account' in:" - ], - "start_col": 81, - "start_line": 50 - }, - "While handling calldata argument 'account'" - ], - "start_col": 30, - "start_line": 1 - } - }, - "1208": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - } - }, - "1210": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 98, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 83, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1211": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 99, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1213": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1214": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1215": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1216": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1217": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/4159e40bee40bab5fc59447feb2a61119cdf9ab6c0a14ebaa0f9e280a5469c22.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1218": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/balanceOf/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 50, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 50 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1219": { - "accessible_scopes": ["__main__", "__main__", "__main__.allowance"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 104, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 60, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 60 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 20, - "start_line": 104 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 57 - } - }, - "1220": { - "accessible_scopes": ["__main__", "__main__", "__main__.allowance"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 62, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 66, - "end_line": 104, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 60, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 60 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 40, - "start_line": 104 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 57 - } - }, - "1221": { - "accessible_scopes": ["__main__", "__main__", "__main__.allowance"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 79, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 83, - "end_line": 104, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 43, - "end_line": 60, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 60 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 68, - "start_line": 104 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 57 - } - }, - "1222": { - "accessible_scopes": ["__main__", "__main__", "__main__.allowance"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 16, - "end_line": 58, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 60, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 28, - "start_line": 60 - }, - "While expanding the reference 'owner' in:" - ], - "start_col": 5, - "start_line": 58 - } - }, - "1223": { - "accessible_scopes": ["__main__", "__main__", "__main__.allowance"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 31, - "end_line": 58, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 60, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 35, - "start_line": 60 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 18, - "start_line": 58 - } - }, - "1224": { - "accessible_scopes": ["__main__", "__main__", "__main__.allowance"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 60, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 60 - } - }, - "1226": { - "accessible_scopes": ["__main__", "__main__", "__main__.allowance"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 60, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 60 - } - }, - "1227": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1229": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 59, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 7, - "start_line": 59 - }, - "While handling return value 'remaining'" - ], - "start_col": 1, - "start_line": 3 - } - }, - "1230": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 59, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 7, - "start_line": 59 - }, - "While handling return value 'remaining'" - ], - "start_col": 1, - "start_line": 4 - } - }, - "1231": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/arg_processor/7f5020813ab1b343debcc3300c737c940210993d2fe101134705622a3d36fb93.cairo" - }, - "parent_location": [ - { - "end_col": 25, - "end_line": 59, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 7, - "start_line": 59 - }, - "While handling return value 'remaining'" - ], - "start_col": 26, - "start_line": 5 - } - }, - "1233": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 109, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 94, - "start_line": 1 - } - }, - "1234": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1235": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1236": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/allowance/1cb7294a6f22e622b9ef012b5a4d2faa6b7630d9f34fee6abcca00d90029b02c.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1237": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 58, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 18, - "start_line": 58 - }, - "While handling calldata argument 'spender'" - ], - "start_col": 22, - "start_line": 2 - } - }, - "1239": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1240": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 16, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1241": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 36, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1242": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 79, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 64, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1243": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/f6a4d9ae897caf37cefd18f7c8da7eee73157818279359aadee282f0fe59cdbc.cairo" - }, - "parent_location": [ - { - "end_col": 16, - "end_line": 58, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 143, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 123, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_owner' in:" - ], - "start_col": 5, - "start_line": 58 - }, - "While handling calldata argument 'owner'" - ], - "start_col": 28, - "start_line": 1 - } - }, - "1244": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" - }, - "parent_location": [ - { - "end_col": 31, - "end_line": 58, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 175, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 153, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_spender' in:" - ], - "start_col": 18, - "start_line": 58 - }, - "While handling calldata argument 'spender'" - ], - "start_col": 30, - "start_line": 1 - } - }, - "1245": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - } - }, - "1247": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 98, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 83, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1248": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 99, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1250": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1251": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1252": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1253": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1254": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/allowance/b9fcb8ecdea98769098e96bc325b933a3fc26ae3a72192935855b4e6bcd89176.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1255": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/allowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 15, - "end_line": 57, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 57 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1256": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 33, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 110, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 71 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 110 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 68 - } - }, - "1257": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 61, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 110, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 71 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 110 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 68 - } - }, - "1258": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 78, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 110, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 71 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 110 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 68 - } - }, - "1259": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 20, - "end_line": 69, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 27, - "start_line": 71 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 5, - "start_line": 69 - } - }, - "1260": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 69, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 38, - "start_line": 71 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 22, - "start_line": 69 - } - }, - "1261": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 69, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 38, - "start_line": 71 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 22, - "start_line": 69 - } - }, - "1262": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 71 - } - }, - "1264": { - "accessible_scopes": ["__main__", "__main__", "__main__.transfer"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 71, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 71 - } - }, - "1265": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1267": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 70, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 7, - "start_line": 70 - }, - "While handling return value 'success'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1268": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 70, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 7, - "start_line": 70 - }, - "While handling return value 'success'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1270": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 57, - "start_line": 1 - } - }, - "1271": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1272": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1273": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/transfer/63591275573bc8b26ecb0c55e4fb63e8afcdbb2de92a6d653dea4d28256a7673.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1274": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 69, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 22, - "start_line": 69 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 22, - "start_line": 3 - } - }, - "1276": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1277": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 15, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1278": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 61, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 35, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1279": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 78, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 63, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1280": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 69, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 151, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 127, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_recipient' in:" - ], - "start_col": 5, - "start_line": 69 - }, - "While handling calldata argument 'recipient'" - ], - "start_col": 32, - "start_line": 1 - } - }, - "1281": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 69, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 181, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 160, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_amount' in:" - ], - "start_col": 22, - "start_line": 69 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1282": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 69, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 181, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 160, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_amount' in:" - ], - "start_col": 22, - "start_line": 69 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1283": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - } - }, - "1285": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 97, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 82, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1286": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 98, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1288": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1289": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1290": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1291": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1292": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transfer/c082162ad81beaa225935c0230f7dc617871352643864a2e3e4881b50b0a949d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1293": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transfer/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 14, - "end_line": 68, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 68 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1294": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 37, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 118, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 78 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 118 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 75 - } - }, - "1295": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 65, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 118, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 78 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 118 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 75 - } - }, - "1296": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 87, - "end_line": 118, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 78 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 72, - "start_line": 118 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 75 - } - }, - "1297": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 17, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 32, - "start_line": 78 - }, - "While expanding the reference 'sender' in:" - ], - "start_col": 5, - "start_line": 76 - } - }, - "1298": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 34, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 40, - "start_line": 78 - }, - "While expanding the reference 'recipient' in:" - ], - "start_col": 19, - "start_line": 76 - } - }, - "1299": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 51, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 51, - "start_line": 78 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 36, - "start_line": 76 - } - }, - "1300": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 51, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 51, - "start_line": 78 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 36, - "start_line": 76 - } - }, - "1301": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 78 - } - }, - "1303": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 59, - "end_line": 78, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 78 - } - }, - "1304": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1306": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 77, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 7, - "start_line": 77 - }, - "While handling return value 'success'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1307": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 77, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 7, - "start_line": 77 - }, - "While handling return value 'success'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1309": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 76, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 61, - "start_line": 1 - } - }, - "1310": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1311": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1312": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/transferFrom/5b2c37cd8026aa4af7cd3c9f7917d8ea869eaee537bea84bfb17d9a4e9947d8f.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1313": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 51, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 36, - "start_line": 76 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 22, - "start_line": 3 - } - }, - "1315": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1316": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 37, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 19, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1317": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 65, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 39, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1318": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 67, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1319": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/2a6553d1cb026d6d486f03ea4f3c4e23a17d2c2fada60e20573741cc8edfdb84.cairo" - }, - "parent_location": [ - { - "end_col": 17, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 145, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 124, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_sender' in:" - ], - "start_col": 5, - "start_line": 76 - }, - "While handling calldata argument 'sender'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1320": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/d8c30f4879932288f1bfa4e0e453592d3ebb5ca98ed0660bf066319d88c0297f.cairo" - }, - "parent_location": [ - { - "end_col": 34, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 181, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 157, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_recipient' in:" - ], - "start_col": 19, - "start_line": 76 - }, - "While handling calldata argument 'recipient'" - ], - "start_col": 32, - "start_line": 1 - } - }, - "1321": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 51, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 211, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 190, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_amount' in:" - ], - "start_col": 36, - "start_line": 76 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1322": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 51, - "end_line": 76, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 211, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 190, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_amount' in:" - ], - "start_col": 36, - "start_line": 76 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1323": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - } - }, - "1325": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 101, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 86, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1326": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 102, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1328": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1329": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1330": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1331": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1332": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/69679d187ee7bc1a9c951eacaca8de24948b900bc226162c0bad133868537b48.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1333": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/transferFrom/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 75, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 75 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1334": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 32, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 127, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 85 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 18, - "start_line": 127 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 14, - "start_line": 82 - } - }, - "1335": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 60, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 64, - "end_line": 127, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 85 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 38, - "start_line": 127 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 34, - "start_line": 82 - } - }, - "1336": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 77, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 81, - "end_line": 127, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 85 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 66, - "start_line": 127 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 62, - "start_line": 82 - } - }, - "1337": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 83, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 26, - "start_line": 85 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 5, - "start_line": 83 - } - }, - "1338": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 35, - "start_line": 85 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 20, - "start_line": 83 - } - }, - "1339": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 41, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 35, - "start_line": 85 - }, - "While expanding the reference 'amount' in:" - ], - "start_col": 20, - "start_line": 83 - } - }, - "1340": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 85 - } - }, - "1342": { - "accessible_scopes": ["__main__", "__main__", "__main__.approve"], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 43, - "end_line": 85, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 85 - } - }, - "1343": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1345": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 84, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 7, - "start_line": 84 - }, - "While handling return value 'success'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1346": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 84, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 7, - "start_line": 84 - }, - "While handling return value 'success'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1348": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 71, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 56, - "start_line": 1 - } - }, - "1349": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1350": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1351": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/approve/3bfbf1e209a2919256f756d0aba26a37c16e14592de6048b15605ba53b428eb5.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1352": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 20, - "start_line": 83 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 22, - "start_line": 3 - } - }, - "1354": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1355": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 32, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 14, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1356": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 60, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 34, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1357": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 77, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 62, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1358": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 83, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 147, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 125, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_spender' in:" - ], - "start_col": 5, - "start_line": 83 - }, - "While handling calldata argument 'spender'" - ], - "start_col": 30, - "start_line": 1 - } - }, - "1359": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 177, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 156, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_amount' in:" - ], - "start_col": 20, - "start_line": 83 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1360": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/98feb0f4c88833fb7f82ddd66d06f84d8ffb64f877c6f94e214b61af32d58c29.cairo" - }, - "parent_location": [ - { - "end_col": 35, - "end_line": 83, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 177, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 156, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_amount' in:" - ], - "start_col": 20, - "start_line": 83 - }, - "While handling calldata argument 'amount'" - ], - "start_col": 29, - "start_line": 1 - } - }, - "1361": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - } - }, - "1363": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 96, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 81, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1364": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 97, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1366": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1367": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1368": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1369": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1370": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/approve/77db5444148929462fbd4e3283726f95bc7cab75ff04d74c8603aa9c36044b9f.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1371": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/approve/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 13, - "end_line": 82, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 82 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1372": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 47, - "end_line": 139, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 92 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 29, - "start_line": 139 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 89 - } - }, - "1373": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 70, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 139, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 92 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 49, - "start_line": 139 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 89 - } - }, - "1374": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 87, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 92, - "end_line": 139, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 58, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 92 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 77, - "start_line": 139 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 72, - "start_line": 89 - } - }, - "1375": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 90, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 37, - "start_line": 92 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 5, - "start_line": 90 - } - }, - "1376": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 90, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 46, - "start_line": 92 - }, - "While expanding the reference 'added_value' in:" - ], - "start_col": 20, - "start_line": 90 - } - }, - "1377": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 90, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 46, - "start_line": 92 - }, - "While expanding the reference 'added_value' in:" - ], - "start_col": 20, - "start_line": 90 - } - }, - "1378": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 92 - } - }, - "1380": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 59, - "end_line": 92, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 92 - } - }, - "1381": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1383": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 91, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 7, - "start_line": 91 - }, - "While handling return value 'success'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1384": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 91, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 7, - "start_line": 91 - }, - "While handling return value 'success'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1386": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 81, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 66, - "start_line": 1 - } - }, - "1387": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1388": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1389": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/increaseAllowance/78c2ccee093b5589a139bd81b558b403837f815524d6dfc3d4af5f60c03fbc80.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1390": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 90, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 20, - "start_line": 90 - }, - "While handling calldata argument 'added_value'" - ], - "start_col": 22, - "start_line": 3 - } - }, - "1392": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1393": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1394": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1395": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 87, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 72, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1396": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 90, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 147, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 125, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_spender' in:" - ], - "start_col": 5, - "start_line": 90 - }, - "While handling calldata argument 'spender'" - ], - "start_col": 30, - "start_line": 1 - } - }, - "1397": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 90, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 187, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 161, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_added_value' in:" - ], - "start_col": 20, - "start_line": 90 - }, - "While handling calldata argument 'added_value'" - ], - "start_col": 34, - "start_line": 1 - } - }, - "1398": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/4ea8e9956f949bdcf8a2402f5fbdc50c902b2a9cd6640c5bec657657d079f916.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 90, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 187, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 161, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_added_value' in:" - ], - "start_col": 20, - "start_line": 90 - }, - "While handling calldata argument 'added_value'" - ], - "start_col": 34, - "start_line": 1 - } - }, - "1399": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - } - }, - "1401": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 106, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 91, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1402": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 107, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1404": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1405": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1406": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1407": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1408": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/3ee5a1f75ea35dfd778b0e9549bbe425c46c16ef9e6ffc2d363bf13e9473f34c.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1409": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/increaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 89, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 89 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1410": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 42, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 47, - "end_line": 158, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 99 - }, - "While trying to retrieve the implicit argument 'syscall_ptr' in:" - ], - "start_col": 29, - "start_line": 158 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 96 - } - }, - "1411": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 70, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 75, - "end_line": 158, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 99 - }, - "While trying to retrieve the implicit argument 'pedersen_ptr' in:" - ], - "start_col": 49, - "start_line": 158 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 96 - } - }, - "1412": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 87, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 92, - "end_line": 158, - "input_file": { - "filename": "/home/kari/project/work/cairo-contracts/src/openzeppelin/token/erc20/library.cairo" - }, - "parent_location": [ - { - "end_col": 63, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 99 - }, - "While trying to retrieve the implicit argument 'range_check_ptr' in:" - ], - "start_col": 77, - "start_line": 158 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 72, - "start_line": 96 - } - }, - "1413": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 18, - "end_line": 97, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 44, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 37, - "start_line": 99 - }, - "While expanding the reference 'spender' in:" - ], - "start_col": 5, - "start_line": 97 - } - }, - "1414": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 97, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 46, - "start_line": 99 - }, - "While expanding the reference 'subtracted_value' in:" - ], - "start_col": 20, - "start_line": 97 - } - }, - "1415": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 45, - "end_line": 97, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 46, - "start_line": 99 - }, - "While expanding the reference 'subtracted_value' in:" - ], - "start_col": 20, - "start_line": 97 - } - }, - "1416": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 12, - "start_line": 99 - } - }, - "1418": { - "accessible_scopes": [ - "__main__", - "__main__", - "__main__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 99, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 5, - "start_line": 99 - } - }, - "1419": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [ - { - "location": { - "end_col": 38, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 3 - }, - "n_prefix_newlines": 0 - } - ], - "inst": { - "end_col": 18, - "end_line": 4, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 4 - } - }, - "1421": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 98, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 7, - "start_line": 98 - }, - "While handling return value 'success'" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1422": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 48, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/5c10028f67364b153272aa9b4cbc0fb78920a40fab821ac7257b0069e0773b49.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 98, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 36, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - }, - "While expanding the reference '__return_value_ptr' in:" - ], - "start_col": 7, - "start_line": 98 - }, - "While handling return value 'success'" - ], - "start_col": 26, - "start_line": 2 - } - }, - "1424": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 81, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 40, - "end_line": 10, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 25, - "start_line": 10 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 66, - "start_line": 1 - } - }, - "1425": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 63, - "end_line": 11, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 18, - "start_line": 11 - } - }, - "1426": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 5, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 38, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 14, - "start_line": 12 - }, - "While expanding the reference '__return_value_ptr_start' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 11, - "start_line": 5 - } - }, - "1427": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 12, - "input_file": { - "filename": "autogen/starknet/external/return/decreaseAllowance/fa23cad4bedb82a75f6cde39bb37d0da695f0c4ce70ab41f6b2240cbbdb1c250.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling return value of" - ], - "start_col": 5, - "start_line": 9 - } - }, - "1428": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 40, - "end_line": 3, - "input_file": { - "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 97, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/c31620b02d4d706f0542c989b2aadc01b0981d1f6a5933a8fe4937ace3d70d92.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 57, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling calldata of" - ], - "start_col": 35, - "start_line": 1 - }, - "While expanding the reference '__calldata_actual_size' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While handling calldata of" - ], - "start_col": 31, - "start_line": 1 - }, - "While expanding the reference '__calldata_ptr' in:" - ], - "start_col": 20, - "start_line": 97 - }, - "While handling calldata argument 'subtracted_value'" - ], - "start_col": 22, - "start_line": 3 - } - }, - "1430": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 58, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/01cba52f8515996bb9d7070bde81ff39281d096d7024a558efcba6e1fd2402cf.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While handling calldata of" - ], - "start_col": 1, - "start_line": 1 - } - }, - "1431": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 64, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/b2c52ca2d2a8fc8791a983086d8716c5eacd0c3d62934914d2286f84b98ff4cb.cairo" - }, - "parent_location": [ - { - "end_col": 42, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 24, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 19, - "start_line": 1 - } - }, - "1432": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 110, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/9684a85e93c782014ca14293edea4eb2502039a5a7b6538ecd39c56faaf12529.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 44, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 20, - "start_line": 1 - } - }, - "1433": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/741ea357d6336b0bed7bf0472425acd0311d543883b803388880e60a232040c7.cairo" - }, - "parent_location": [ - { - "end_col": 87, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 72, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 1 - } - }, - "1434": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 46, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/arg_processor/144fa44c78b9ff9755794c84d3169b8c097256057e7a09154cdae1a978b57fed.cairo" - }, - "parent_location": [ - { - "end_col": 18, - "end_line": 97, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 147, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 125, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_spender' in:" - ], - "start_col": 5, - "start_line": 97 - }, - "While handling calldata argument 'spender'" - ], - "start_col": 30, - "start_line": 1 - } - }, - "1435": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 97, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 197, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 166, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_subtracted_value' in:" - ], - "start_col": 20, - "start_line": 97 - }, - "While handling calldata argument 'subtracted_value'" - ], - "start_col": 39, - "start_line": 1 - } - }, - "1436": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 67, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/arg_processor/088fc10f121c4edf0412d2bc1088f20f4b09fa1a3902dfc21b754224dcfd427e.cairo" - }, - "parent_location": [ - { - "end_col": 45, - "end_line": 97, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 197, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 166, - "start_line": 1 - }, - "While expanding the reference '__calldata_arg_subtracted_value' in:" - ], - "start_col": 20, - "start_line": 97 - }, - "While handling calldata argument 'subtracted_value'" - ], - "start_col": 39, - "start_line": 1 - } - }, - "1437": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - } - }, - "1439": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 115, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 106, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 91, - "start_line": 2 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 100, - "start_line": 1 - } - }, - "1440": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 107, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 48, - "start_line": 2 - } - }, - "1442": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 55, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 20, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 9, - "start_line": 1 - }, - "While expanding the reference 'syscall_ptr' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 44, - "start_line": 1 - } - }, - "1443": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 82, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 33, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 21, - "start_line": 1 - }, - "While expanding the reference 'pedersen_ptr' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 70, - "start_line": 1 - } - }, - "1444": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 21, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 49, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 34, - "start_line": 1 - }, - "While expanding the reference 'range_check_ptr' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 6, - "start_line": 2 - } - }, - "1445": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 35, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 62, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 50, - "start_line": 1 - }, - "While expanding the reference 'retdata_size' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 23, - "start_line": 2 - } - }, - "1446": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 44, - "end_line": 2, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/e44e20cea14fd052bfd56e74769715e588b4185c73d4812f14a6aed701cae62f.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "parent_location": [ - { - "end_col": 70, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 63, - "start_line": 1 - }, - "While expanding the reference 'retdata' in:" - ], - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 37, - "start_line": 2 - } - }, - "1447": { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance" - ], - "flow_tracking_data": null, - "hints": [], - "inst": { - "end_col": 72, - "end_line": 1, - "input_file": { - "filename": "autogen/starknet/external/decreaseAllowance/da17921a4e81c09e730800bbf23bfdbe5e9e6bfaedc59d80fbf62087fa43c27d.cairo" - }, - "parent_location": [ - { - "end_col": 23, - "end_line": 96, - "input_file": { - "filename": "src/openzeppelin/token/erc20/presets/ERC20.cairo" - }, - "start_col": 6, - "start_line": 96 - }, - "While constructing the external wrapper for:" - ], - "start_col": 1, - "start_line": 1 - } - } - } - }, - "hints": { - "0": [ - { - "accessible_scopes": [ - "starkware.cairo.common.alloc", - "starkware.cairo.common.alloc.alloc" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 0, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "12": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.get_caller_address" - ], - "code": "syscall_handler.get_caller_address(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 2, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": 0 - } - } - } - ], - "20": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_read" - ], - "code": "syscall_handler.storage_read(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 3, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.storage_read.syscall_ptr": 1 - } - } - } - ], - "29": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.storage_write" - ], - "code": "syscall_handler.storage_write(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 4, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.storage_write.syscall_ptr": 2 - } - } - } - ], - "39": [ - { - "accessible_scopes": [ - "starkware.starknet.common.syscalls", - "starkware.starknet.common.syscalls.emit_event" - ], - "code": "syscall_handler.emit_event(segments=segments, syscall_ptr=ids.syscall_ptr)", - "flow_tracking_data": { - "ap_tracking": { - "group": 5, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.syscalls.emit_event.syscall_ptr": 3 - } - } - } - ], - "42": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_not_zero" - ], - "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.value)\nassert ids.value % PRIME != 0, f'assert_not_zero failed: {ids.value} = 0.'", - "flow_tracking_data": { - "ap_tracking": { - "group": 6, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_not_zero.value": 4 - } - } - } - ], - "47": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_nn" - ], - "code": "from starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert 0 <= ids.a % PRIME < range_check_builtin.bound, f'a = {ids.a} is out of range.'", - "flow_tracking_data": { - "ap_tracking": { - "group": 7, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_nn.a": 5 - } - } - } - ], - "56": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_250_bit" - ], - "code": "from starkware.cairo.common.math_utils import as_int\n\n# Correctness check.\nvalue = as_int(ids.value, PRIME) % PRIME\nassert value < ids.UPPER_BOUND, f'{value} is outside of the range [0, 2**250).'\n\n# Calculation for the assertion.\nids.high, ids.low = divmod(ids.value, ids.SHIFT)", - "flow_tracking_data": { - "ap_tracking": { - "group": 9, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_250_bit.high": 8, - "starkware.cairo.common.math.assert_250_bit.low": 7, - "starkware.cairo.common.math.assert_250_bit.value": 6 - } - } - } - ], - "69": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "import itertools\n\nfrom starkware.cairo.common.math_utils import assert_integer\nassert_integer(ids.a)\nassert_integer(ids.b)\na = ids.a % PRIME\nb = ids.b % PRIME\nassert a <= b, f'a = {a} is not less than or equal to b = {b}.'\n\n# Find an arc less than PRIME / 3, and another less than PRIME / 2.\nlengths_and_indices = [(a, 0), (b - a, 1), (PRIME - 1 - b, 2)]\nlengths_and_indices.sort()\nassert lengths_and_indices[0][0] <= PRIME // 3 and lengths_and_indices[1][0] <= PRIME // 2\nexcluded = lengths_and_indices[2][1]\n\nmemory[ids.range_check_ptr + 1], memory[ids.range_check_ptr + 0] = (\n divmod(lengths_and_indices[0][0], ids.PRIME_OVER_3_HIGH))\nmemory[ids.range_check_ptr + 3], memory[ids.range_check_ptr + 2] = (\n divmod(lengths_and_indices[1][0], ids.PRIME_OVER_2_HIGH))", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math.assert_le_felt.a": 9, - "starkware.cairo.common.math.assert_le_felt.b": 10, - "starkware.cairo.common.math.assert_le_felt.range_check_ptr": 11 - } - } - } - ], - "79": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "memory[ap] = 1 if excluded != 0 else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 8 - }, - "reference_ids": {} - } - } - ], - "93": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "memory[ap] = 1 if excluded != 1 else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 9 - }, - "reference_ids": {} - } - } - ], - "105": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math", - "starkware.cairo.common.math.assert_le_felt" - ], - "code": "assert excluded == 2", - "flow_tracking_data": { - "ap_tracking": { - "group": 10, - "offset": 10 - }, - "reference_ids": {} - } - } - ], - "116": [ - { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "code": "# Verify the assumptions on the relationship between 2**250, ADDR_BOUND and PRIME.\nADDR_BOUND = ids.ADDR_BOUND % PRIME\nassert (2**250 < ADDR_BOUND <= 2**251) and (2 * 2**250 < PRIME) and (\n ADDR_BOUND * 2 > PRIME), \\\n 'normalize_address() cannot be used with the current constants.'\nids.is_small = 1 if ids.addr < ADDR_BOUND else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 11, - "offset": 1 - }, - "reference_ids": { - "starkware.starknet.common.storage.normalize_address.addr": 12, - "starkware.starknet.common.storage.normalize_address.is_small": 13 - } - } - } - ], - "134": [ - { - "accessible_scopes": [ - "starkware.starknet.common.storage", - "starkware.starknet.common.storage.normalize_address" - ], - "code": "ids.is_250 = 1 if ids.addr < 2**250 else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 11, - "offset": 2 - }, - "reference_ids": { - "starkware.starknet.common.storage.normalize_address.addr": 12, - "starkware.starknet.common.storage.normalize_address.is_250": 14 - } - } - } - ], - "154": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "code": "memory[ap] = 0 if 0 <= (ids.a % PRIME) < range_check_builtin.bound else 1", - "flow_tracking_data": { - "ap_tracking": { - "group": 12, - "offset": 0 - }, - "reference_ids": { - "starkware.cairo.common.math_cmp.is_nn.a": 15 - } - } - } - ], - "164": [ - { - "accessible_scopes": [ - "starkware.cairo.common.math_cmp", - "starkware.cairo.common.math_cmp.is_nn" - ], - "code": "memory[ap] = 0 if 0 <= ((-ids.a - 1) % PRIME) < range_check_builtin.bound else 1", - "flow_tracking_data": { - "ap_tracking": { - "group": 12, - "offset": 1 - }, - "reference_ids": { - "starkware.cairo.common.math_cmp.is_nn.a": 15 - } - } - } - ], - "199": [ - { - "accessible_scopes": [ - "starkware.cairo.common.uint256", - "starkware.cairo.common.uint256.uint256_add" - ], - "code": "sum_low = ids.a.low + ids.b.low\nids.carry_low = 1 if sum_low >= ids.SHIFT else 0\nsum_high = ids.a.high + ids.b.high + ids.carry_low\nids.carry_high = 1 if sum_high >= ids.SHIFT else 0", - "flow_tracking_data": { - "ap_tracking": { - "group": 15, - "offset": 4 - }, - "reference_ids": { - "starkware.cairo.common.uint256.uint256_add.a": 16, - "starkware.cairo.common.uint256.uint256_add.b": 17, - "starkware.cairo.common.uint256.uint256_add.carry_high": 19, - "starkware.cairo.common.uint256.uint256_add.carry_low": 18 - } - } - } - ], - "1054": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.constructor" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 68, - "offset": 414 - }, - "reference_ids": {} - } - } - ], - "1069": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.name_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 70, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1099": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.symbol_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 73, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1129": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.totalSupply_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 76, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1160": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decimals_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 79, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1191": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.balanceOf_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 82, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1227": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.allowance_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 85, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1265": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transfer_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 89, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1304": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.transferFrom_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 94, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1343": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.approve_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 99, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1381": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.increaseAllowance_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 104, - "offset": 0 - }, - "reference_ids": {} - } - } - ], - "1419": [ - { - "accessible_scopes": [ - "__main__", - "__main__", - "__wrappers__", - "__wrappers__.decreaseAllowance_encode_return" - ], - "code": "memory[ap] = segments.add()", - "flow_tracking_data": { - "ap_tracking": { - "group": 109, - "offset": 0 - }, - "reference_ids": {} - } - } - ] - }, - "identifiers": { - "__main__.ERC20": { - "destination": "openzeppelin.token.erc20.library.ERC20", - "type": "alias" - }, - "__main__.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "__main__.Uint256": { - "destination": "starkware.cairo.common.uint256.Uint256", - "type": "alias" - }, - "__main__.allowance": { - "decorators": ["view"], - "pc": 1219, - "type": "function" - }, - "__main__.allowance.Args": { - "full_name": "__main__.allowance.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "__main__.allowance.ImplicitArgs": { - "full_name": "__main__.allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.allowance.Return": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "__main__.allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.approve": { - "decorators": ["external"], - "pc": 1334, - "type": "function" - }, - "__main__.approve.Args": { - "full_name": "__main__.approve.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.approve.ImplicitArgs": { - "full_name": "__main__.approve.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.approve.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "__main__.approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.balanceOf": { - "decorators": ["view"], - "pc": 1184, - "type": "function" - }, - "__main__.balanceOf.Args": { - "full_name": "__main__.balanceOf.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "__main__.balanceOf.ImplicitArgs": { - "full_name": "__main__.balanceOf.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.balanceOf.Return": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "__main__.balanceOf.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.constructor": { - "decorators": ["constructor"], - "pc": 1026, - "type": "function" - }, - "__main__.constructor.Args": { - "full_name": "__main__.constructor.Args", - "members": { - "decimals": { - "cairo_type": "felt", - "offset": 2 - }, - "initial_supply": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 3 - }, - "name": { - "cairo_type": "felt", - "offset": 0 - }, - "recipient": { - "cairo_type": "felt", - "offset": 5 - }, - "symbol": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 6, - "type": "struct" - }, - "__main__.constructor.ImplicitArgs": { - "full_name": "__main__.constructor.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.constructor.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "__main__.constructor.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.decimals": { - "decorators": ["view"], - "pc": 1154, - "type": "function" - }, - "__main__.decimals.Args": { - "full_name": "__main__.decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__main__.decimals.ImplicitArgs": { - "full_name": "__main__.decimals.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.decimals.Return": { - "cairo_type": "(decimals: felt)", - "type": "type_definition" - }, - "__main__.decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.decreaseAllowance": { - "decorators": ["external"], - "pc": 1410, - "type": "function" - }, - "__main__.decreaseAllowance.Args": { - "full_name": "__main__.decreaseAllowance.Args", - "members": { - "spender": { - "cairo_type": "felt", - "offset": 0 - }, - "subtracted_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.decreaseAllowance.ImplicitArgs": { - "full_name": "__main__.decreaseAllowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.decreaseAllowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "__main__.decreaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.increaseAllowance": { - "decorators": ["external"], - "pc": 1372, - "type": "function" - }, - "__main__.increaseAllowance.Args": { - "full_name": "__main__.increaseAllowance.Args", - "members": { - "added_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.increaseAllowance.ImplicitArgs": { - "full_name": "__main__.increaseAllowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.increaseAllowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "__main__.increaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.name": { - "decorators": ["view"], - "pc": 1063, - "type": "function" - }, - "__main__.name.Args": { - "full_name": "__main__.name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__main__.name.ImplicitArgs": { - "full_name": "__main__.name.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.name.Return": { - "cairo_type": "(name: felt)", - "type": "type_definition" - }, - "__main__.name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.symbol": { - "decorators": ["view"], - "pc": 1093, - "type": "function" - }, - "__main__.symbol.Args": { - "full_name": "__main__.symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__main__.symbol.ImplicitArgs": { - "full_name": "__main__.symbol.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.symbol.Return": { - "cairo_type": "(symbol: felt)", - "type": "type_definition" - }, - "__main__.symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.totalSupply": { - "decorators": ["view"], - "pc": 1123, - "type": "function" - }, - "__main__.totalSupply.Args": { - "full_name": "__main__.totalSupply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__main__.totalSupply.ImplicitArgs": { - "full_name": "__main__.totalSupply.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.totalSupply.Return": { - "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "__main__.totalSupply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.transfer": { - "decorators": ["external"], - "pc": 1256, - "type": "function" - }, - "__main__.transfer.Args": { - "full_name": "__main__.transfer.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "recipient": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.transfer.ImplicitArgs": { - "full_name": "__main__.transfer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.transfer.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "__main__.transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__main__.transferFrom": { - "decorators": ["external"], - "pc": 1294, - "type": "function" - }, - "__main__.transferFrom.Args": { - "full_name": "__main__.transferFrom.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "recipient": { - "cairo_type": "felt", - "offset": 1 - }, - "sender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "__main__.transferFrom.ImplicitArgs": { - "full_name": "__main__.transferFrom.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__main__.transferFrom.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "__main__.transferFrom.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.allowance": { - "decorators": ["view"], - "pc": 1237, - "type": "function" - }, - "__wrappers__.allowance.Args": { - "full_name": "__wrappers__.allowance.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.allowance.ImplicitArgs": { - "full_name": "__wrappers__.allowance.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.allowance.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.allowance.__wrapped_func": { - "destination": "__main__.allowance", - "type": "alias" - }, - "__wrappers__.allowance_encode_return": { - "decorators": [], - "pc": 1227, - "type": "function" - }, - "__wrappers__.allowance_encode_return.Args": { - "full_name": "__wrappers__.allowance_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "ret_value": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__wrappers__.allowance_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.allowance_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.allowance_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.allowance_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.allowance_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.approve": { - "decorators": ["external"], - "pc": 1352, - "type": "function" - }, - "__wrappers__.approve.Args": { - "full_name": "__wrappers__.approve.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.approve.ImplicitArgs": { - "full_name": "__wrappers__.approve.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.approve.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.approve.__wrapped_func": { - "destination": "__main__.approve", - "type": "alias" - }, - "__wrappers__.approve_encode_return": { - "decorators": [], - "pc": 1343, - "type": "function" - }, - "__wrappers__.approve_encode_return.Args": { - "full_name": "__wrappers__.approve_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.approve_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.approve_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.approve_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.approve_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.approve_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.balanceOf": { - "decorators": ["view"], - "pc": 1201, - "type": "function" - }, - "__wrappers__.balanceOf.Args": { - "full_name": "__wrappers__.balanceOf.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.balanceOf.ImplicitArgs": { - "full_name": "__wrappers__.balanceOf.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.balanceOf.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.balanceOf.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.balanceOf.__wrapped_func": { - "destination": "__main__.balanceOf", - "type": "alias" - }, - "__wrappers__.balanceOf_encode_return": { - "decorators": [], - "pc": 1191, - "type": "function" - }, - "__wrappers__.balanceOf_encode_return.Args": { - "full_name": "__wrappers__.balanceOf_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "ret_value": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__wrappers__.balanceOf_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.balanceOf_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.balanceOf_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.balanceOf_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.balanceOf_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.constructor": { - "decorators": ["constructor"], - "pc": 1040, - "type": "function" - }, - "__wrappers__.constructor.Args": { - "full_name": "__wrappers__.constructor.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.constructor.ImplicitArgs": { - "full_name": "__wrappers__.constructor.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.constructor.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.constructor.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.constructor.__wrapped_func": { - "destination": "__main__.constructor", - "type": "alias" - }, - "__wrappers__.constructor_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.decimals": { - "decorators": ["view"], - "pc": 1169, - "type": "function" - }, - "__wrappers__.decimals.Args": { - "full_name": "__wrappers__.decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decimals.ImplicitArgs": { - "full_name": "__wrappers__.decimals.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decimals.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.decimals.__wrapped_func": { - "destination": "__main__.decimals", - "type": "alias" - }, - "__wrappers__.decimals_encode_return": { - "decorators": [], - "pc": 1160, - "type": "function" - }, - "__wrappers__.decimals_encode_return.Args": { - "full_name": "__wrappers__.decimals_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(decimals: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.decimals_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.decimals_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decimals_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.decimals_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.decimals_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.decreaseAllowance": { - "decorators": ["external"], - "pc": 1428, - "type": "function" - }, - "__wrappers__.decreaseAllowance.Args": { - "full_name": "__wrappers__.decreaseAllowance.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decreaseAllowance.ImplicitArgs": { - "full_name": "__wrappers__.decreaseAllowance.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decreaseAllowance.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.decreaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.decreaseAllowance.__wrapped_func": { - "destination": "__main__.decreaseAllowance", - "type": "alias" - }, - "__wrappers__.decreaseAllowance_encode_return": { - "decorators": [], - "pc": 1419, - "type": "function" - }, - "__wrappers__.decreaseAllowance_encode_return.Args": { - "full_name": "__wrappers__.decreaseAllowance_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.decreaseAllowance_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.decreaseAllowance_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.decreaseAllowance_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.decreaseAllowance_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.increaseAllowance": { - "decorators": ["external"], - "pc": 1390, - "type": "function" - }, - "__wrappers__.increaseAllowance.Args": { - "full_name": "__wrappers__.increaseAllowance.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.increaseAllowance.ImplicitArgs": { - "full_name": "__wrappers__.increaseAllowance.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.increaseAllowance.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.increaseAllowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.increaseAllowance.__wrapped_func": { - "destination": "__main__.increaseAllowance", - "type": "alias" - }, - "__wrappers__.increaseAllowance_encode_return": { - "decorators": [], - "pc": 1381, - "type": "function" - }, - "__wrappers__.increaseAllowance_encode_return.Args": { - "full_name": "__wrappers__.increaseAllowance_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.increaseAllowance_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.increaseAllowance_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.increaseAllowance_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.increaseAllowance_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.increaseAllowance_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.name": { - "decorators": ["view"], - "pc": 1078, - "type": "function" - }, - "__wrappers__.name.Args": { - "full_name": "__wrappers__.name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.name.ImplicitArgs": { - "full_name": "__wrappers__.name.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.name.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.name.__wrapped_func": { - "destination": "__main__.name", - "type": "alias" - }, - "__wrappers__.name_encode_return": { - "decorators": [], - "pc": 1069, - "type": "function" - }, - "__wrappers__.name_encode_return.Args": { - "full_name": "__wrappers__.name_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(name: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.name_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.name_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.name_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.name_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.name_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.symbol": { - "decorators": ["view"], - "pc": 1108, - "type": "function" - }, - "__wrappers__.symbol.Args": { - "full_name": "__wrappers__.symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.symbol.ImplicitArgs": { - "full_name": "__wrappers__.symbol.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.symbol.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.symbol.__wrapped_func": { - "destination": "__main__.symbol", - "type": "alias" - }, - "__wrappers__.symbol_encode_return": { - "decorators": [], - "pc": 1099, - "type": "function" - }, - "__wrappers__.symbol_encode_return.Args": { - "full_name": "__wrappers__.symbol_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(symbol: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.symbol_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.symbol_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.symbol_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.symbol_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.symbol_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.totalSupply": { - "decorators": ["view"], - "pc": 1139, - "type": "function" - }, - "__wrappers__.totalSupply.Args": { - "full_name": "__wrappers__.totalSupply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.totalSupply.ImplicitArgs": { - "full_name": "__wrappers__.totalSupply.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.totalSupply.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.totalSupply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.totalSupply.__wrapped_func": { - "destination": "__main__.totalSupply", - "type": "alias" - }, - "__wrappers__.totalSupply_encode_return": { - "decorators": [], - "pc": 1129, - "type": "function" - }, - "__wrappers__.totalSupply_encode_return.Args": { - "full_name": "__wrappers__.totalSupply_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "ret_value": { - "cairo_type": "(totalSupply: starkware.cairo.common.uint256.Uint256)", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "__wrappers__.totalSupply_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.totalSupply_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.totalSupply_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.totalSupply_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.totalSupply_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.transfer": { - "decorators": ["external"], - "pc": 1274, - "type": "function" - }, - "__wrappers__.transfer.Args": { - "full_name": "__wrappers__.transfer.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transfer.ImplicitArgs": { - "full_name": "__wrappers__.transfer.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transfer.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.transfer.__wrapped_func": { - "destination": "__main__.transfer", - "type": "alias" - }, - "__wrappers__.transferFrom": { - "decorators": ["external"], - "pc": 1313, - "type": "function" - }, - "__wrappers__.transferFrom.Args": { - "full_name": "__wrappers__.transferFrom.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transferFrom.ImplicitArgs": { - "full_name": "__wrappers__.transferFrom.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transferFrom.Return": { - "cairo_type": "(syscall_ptr: felt*, pedersen_ptr: starkware.cairo.common.cairo_builtins.HashBuiltin*, range_check_ptr: felt, size: felt, retdata: felt*)", - "type": "type_definition" - }, - "__wrappers__.transferFrom.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "__wrappers__.transferFrom.__wrapped_func": { - "destination": "__main__.transferFrom", - "type": "alias" - }, - "__wrappers__.transferFrom_encode_return": { - "decorators": [], - "pc": 1304, - "type": "function" - }, - "__wrappers__.transferFrom_encode_return.Args": { - "full_name": "__wrappers__.transferFrom_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.transferFrom_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.transferFrom_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transferFrom_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.transferFrom_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.transferFrom_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "__wrappers__.transfer_encode_return": { - "decorators": [], - "pc": 1265, - "type": "function" - }, - "__wrappers__.transfer_encode_return.Args": { - "full_name": "__wrappers__.transfer_encode_return.Args", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "ret_value": { - "cairo_type": "(success: felt)", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "__wrappers__.transfer_encode_return.ImplicitArgs": { - "full_name": "__wrappers__.transfer_encode_return.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "__wrappers__.transfer_encode_return.Return": { - "cairo_type": "(range_check_ptr: felt, data_len: felt, data: felt*)", - "type": "type_definition" - }, - "__wrappers__.transfer_encode_return.SIZEOF_LOCALS": { - "type": "const", - "value": 1 - }, - "__wrappers__.transfer_encode_return.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "openzeppelin.security.safemath.library.FALSE": { - "destination": "starkware.cairo.common.bool.FALSE", - "type": "alias" - }, - "openzeppelin.security.safemath.library.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.security.safemath.library.SafeUint256": { - "type": "namespace" - }, - "openzeppelin.security.safemath.library.SafeUint256.Args": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.security.safemath.library.SafeUint256.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.security.safemath.library.SafeUint256.add": { - "decorators": [], - "pc": 309, - "type": "function" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.Args": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.add.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.Return": { - "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.security.safemath.library.SafeUint256.add.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le": { - "decorators": [], - "pc": 330, - "type": "function" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs": { - "full_name": "openzeppelin.security.safemath.library.SafeUint256.sub_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.Return": { - "cairo_type": "(c: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.security.safemath.library.SafeUint256.sub_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.security.safemath.library.TRUE": { - "destination": "starkware.cairo.common.bool.TRUE", - "type": "alias" - }, - "openzeppelin.security.safemath.library.Uint256": { - "destination": "starkware.cairo.common.uint256.Uint256", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_add": { - "destination": "starkware.cairo.common.uint256.uint256_add", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_check": { - "destination": "starkware.cairo.common.uint256.uint256_check", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_eq": { - "destination": "starkware.cairo.common.uint256.uint256_eq", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_le": { - "destination": "starkware.cairo.common.uint256.uint256_le", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_lt": { - "destination": "starkware.cairo.common.uint256.uint256_lt", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_mul": { - "destination": "starkware.cairo.common.uint256.uint256_mul", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_sub": { - "destination": "starkware.cairo.common.uint256.uint256_sub", - "type": "alias" - }, - "openzeppelin.security.safemath.library.uint256_unsigned_div_rem": { - "destination": "starkware.cairo.common.uint256.uint256_unsigned_div_rem", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Approval": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.Approval.Args": { - "full_name": "openzeppelin.token.erc20.library.Approval.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Approval.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Approval.SELECTOR": { - "type": "const", - "value": 544914742286571513055574265148471203182105283038408585630116262969508767999 - }, - "openzeppelin.token.erc20.library.Approval.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.Approval.alloc": { - "destination": "starkware.cairo.common.alloc.alloc", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Approval.emit": { - "decorators": [], - "pc": 384, - "type": "function" - }, - "openzeppelin.token.erc20.library.Approval.emit.Args": { - "full_name": "openzeppelin.token.erc20.library.Approval.emit.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Approval.emit.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Approval.emit.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Approval.emit.SIZEOF_LOCALS": { - "type": "const", - "value": 2 - }, - "openzeppelin.token.erc20.library.Approval.emit_event": { - "destination": "starkware.starknet.common.syscalls.emit_event", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Approval.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20._approve": { - "decorators": [], - "pc": 939, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._approve.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._approve.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._approve.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._approve.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20._mint": { - "decorators": [], - "pc": 831, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._mint.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._mint.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "recipient": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._mint.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._mint.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._mint.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance": { - "decorators": [], - "pc": 971, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._spend_allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._spend_allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 4 - }, - "openzeppelin.token.erc20.library.ERC20._transfer": { - "decorators": [], - "pc": 883, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "recipient": { - "cairo_type": "felt", - "offset": 1 - }, - "sender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20._transfer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20._transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.allowance": { - "decorators": [], - "pc": 703, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.Return": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.approve": { - "decorators": [], - "pc": 747, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.approve.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.approve.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.approve.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.approve.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.approve.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.balance_of": { - "decorators": [], - "pc": 696, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.balance_of.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.Return": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.balance_of.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.decimals": { - "decorators": [], - "pc": 690, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decimals.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.Return": { - "cairo_type": "(decimals: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance": { - "decorators": [], - "pc": 798, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Args", - "members": { - "spender": { - "cairo_type": "felt", - "offset": 0 - }, - "subtracted_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.decrease_allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.decrease_allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance": { - "decorators": [], - "pc": 767, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.Args", - "members": { - "added_value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "spender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.increase_allowance.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.increase_allowance.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.initializer": { - "decorators": [], - "pc": 651, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.Args", - "members": { - "decimals": { - "cairo_type": "felt", - "offset": 2 - }, - "name": { - "cairo_type": "felt", - "offset": 0 - }, - "symbol": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.initializer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.initializer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.name": { - "decorators": [], - "pc": 672, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.name.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.name.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.name.Return": { - "cairo_type": "(name: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.symbol": { - "decorators": [], - "pc": 678, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.symbol.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.Return": { - "cairo_type": "(symbol: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.total_supply": { - "decorators": [], - "pc": 684, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.total_supply.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.Return": { - "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.total_supply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.transfer": { - "decorators": [], - "pc": 711, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - }, - "recipient": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from": { - "decorators": [], - "pc": 726, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.Args", - "members": { - "amount": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - }, - "recipient": { - "cairo_type": "felt", - "offset": 1 - }, - "sender": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20.transfer_from.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.Return": { - "cairo_type": "(success: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20.transfer_from.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr": { - "decorators": [], - "pc": 594, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read": { - "decorators": [], - "pc": 611, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.Return": { - "cairo_type": "(remaining: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_allowances.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write": { - "decorators": [], - "pc": 632, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.Args", - "members": { - "owner": { - "cairo_type": "felt", - "offset": 0 - }, - "spender": { - "cairo_type": "felt", - "offset": 1 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_allowances.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_allowances.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_balances.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr": { - "decorators": [], - "pc": 542, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read": { - "decorators": [], - "pc": 556, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.Return": { - "cairo_type": "(balance: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_balances.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write": { - "decorators": [], - "pc": 576, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.Args", - "members": { - "account": { - "cairo_type": "felt", - "offset": 0 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_balances.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_balances.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr": { - "decorators": [], - "pc": 471, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read": { - "decorators": [], - "pc": 476, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.Return": { - "cairo_type": "(decimals: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_decimals.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write": { - "decorators": [], - "pc": 489, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_decimals.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_decimals.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_name.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name.addr": { - "decorators": [], - "pc": 411, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.read": { - "decorators": [], - "pc": 416, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.Return": { - "cairo_type": "(name: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_name.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_name.write": { - "decorators": [], - "pc": 429, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_name.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_name.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr": { - "decorators": [], - "pc": 441, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read": { - "decorators": [], - "pc": 446, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.Return": { - "cairo_type": "(symbol: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_symbol.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write": { - "decorators": [], - "pc": 459, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_symbol.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_symbol.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr": { - "decorators": [], - "pc": 501, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.addr.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.addr.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.hash2": { - "destination": "starkware.cairo.common.hash.hash2", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.normalize_address": { - "destination": "starkware.starknet.common.storage.normalize_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read": { - "decorators": [], - "pc": 506, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.read.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.Return": { - "cairo_type": "(total_supply: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.storage_read": { - "destination": "starkware.starknet.common.syscalls.storage_read", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.storage_write": { - "destination": "starkware.starknet.common.syscalls.storage_write", - "type": "alias" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write": { - "decorators": [], - "pc": 525, - "type": "function" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.Args", - "members": { - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.ERC20_total_supply.write.ImplicitArgs", - "members": { - "pedersen_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 1 - }, - "range_check_ptr": { - "cairo_type": "felt", - "offset": 2 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.ERC20_total_supply.write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.FALSE": { - "destination": "starkware.cairo.common.bool.FALSE", - "type": "alias" - }, - "openzeppelin.token.erc20.library.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "openzeppelin.token.erc20.library.SafeUint256": { - "destination": "openzeppelin.security.safemath.library.SafeUint256", - "type": "alias" - }, - "openzeppelin.token.erc20.library.TRUE": { - "destination": "starkware.cairo.common.bool.TRUE", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Transfer": { - "type": "namespace" - }, - "openzeppelin.token.erc20.library.Transfer.Args": { - "full_name": "openzeppelin.token.erc20.library.Transfer.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Transfer.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Transfer.SELECTOR": { - "type": "const", - "value": 271746229759260285552388728919865295615886751538523744128730118297934206697 - }, - "openzeppelin.token.erc20.library.Transfer.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "openzeppelin.token.erc20.library.Transfer.alloc": { - "destination": "starkware.cairo.common.alloc.alloc", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Transfer.emit": { - "decorators": [], - "pc": 357, - "type": "function" - }, - "openzeppelin.token.erc20.library.Transfer.emit.Args": { - "full_name": "openzeppelin.token.erc20.library.Transfer.emit.Args", - "members": { - "from_": { - "cairo_type": "felt", - "offset": 0 - }, - "to": { - "cairo_type": "felt", - "offset": 1 - }, - "value": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs": { - "full_name": "openzeppelin.token.erc20.library.Transfer.emit.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 1 - }, - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "openzeppelin.token.erc20.library.Transfer.emit.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "openzeppelin.token.erc20.library.Transfer.emit.SIZEOF_LOCALS": { - "type": "const", - "value": 2 - }, - "openzeppelin.token.erc20.library.Transfer.emit_event": { - "destination": "starkware.starknet.common.syscalls.emit_event", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Transfer.memcpy": { - "destination": "starkware.cairo.common.memcpy.memcpy", - "type": "alias" - }, - "openzeppelin.token.erc20.library.UINT8_MAX": { - "destination": "openzeppelin.utils.constants.library.UINT8_MAX", - "type": "alias" - }, - "openzeppelin.token.erc20.library.Uint256": { - "destination": "starkware.cairo.common.uint256.Uint256", - "type": "alias" - }, - "openzeppelin.token.erc20.library.assert_le": { - "destination": "starkware.cairo.common.math.assert_le", - "type": "alias" - }, - "openzeppelin.token.erc20.library.assert_not_zero": { - "destination": "starkware.cairo.common.math.assert_not_zero", - "type": "alias" - }, - "openzeppelin.token.erc20.library.get_caller_address": { - "destination": "starkware.starknet.common.syscalls.get_caller_address", - "type": "alias" - }, - "openzeppelin.token.erc20.library.uint256_check": { - "destination": "starkware.cairo.common.uint256.uint256_check", - "type": "alias" - }, - "openzeppelin.token.erc20.library.uint256_eq": { - "destination": "starkware.cairo.common.uint256.uint256_eq", - "type": "alias" - }, - "openzeppelin.token.erc20.library.uint256_not": { - "destination": "starkware.cairo.common.uint256.uint256_not", - "type": "alias" - }, - "openzeppelin.utils.constants.library.DEFAULT_ADMIN_ROLE": { - "type": "const", - "value": 0 - }, - "openzeppelin.utils.constants.library.IACCESSCONTROL_ID": { - "type": "const", - "value": 2036718347 - }, - "openzeppelin.utils.constants.library.IACCOUNT_ID": { - "type": "const", - "value": 2792084853 - }, - "openzeppelin.utils.constants.library.IERC1155_ID": { - "type": "const", - "value": 3652614694 - }, - "openzeppelin.utils.constants.library.IERC1155_METADATA_ID": { - "type": "const", - "value": 243872796 - }, - "openzeppelin.utils.constants.library.IERC1155_RECEIVER_ID": { - "type": "const", - "value": 1310921440 - }, - "openzeppelin.utils.constants.library.IERC165_ID": { - "type": "const", - "value": 33540519 - }, - "openzeppelin.utils.constants.library.IERC721_ENUMERABLE_ID": { - "type": "const", - "value": 2014223715 - }, - "openzeppelin.utils.constants.library.IERC721_ID": { - "type": "const", - "value": 2158778573 - }, - "openzeppelin.utils.constants.library.IERC721_METADATA_ID": { - "type": "const", - "value": 1532892063 - }, - "openzeppelin.utils.constants.library.IERC721_RECEIVER_ID": { - "type": "const", - "value": 353073666 - }, - "openzeppelin.utils.constants.library.INVALID_ID": { - "type": "const", - "value": 4294967295 - }, - "openzeppelin.utils.constants.library.ON_ERC1155_BATCH_RECEIVED_SELECTOR": { - "type": "const", - "value": 3155786881 - }, - "openzeppelin.utils.constants.library.ON_ERC1155_RECEIVED_SELECTOR": { - "type": "const", - "value": 4063915617 - }, - "openzeppelin.utils.constants.library.TRANSACTION_VERSION": { - "type": "const", - "value": 1 - }, - "openzeppelin.utils.constants.library.UINT8_MAX": { - "type": "const", - "value": 255 - }, - "starkware.cairo.common.alloc.alloc": { - "decorators": [], - "pc": 0, - "type": "function" - }, - "starkware.cairo.common.alloc.alloc.Args": { - "full_name": "starkware.cairo.common.alloc.alloc.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.cairo.common.alloc.alloc.ImplicitArgs": { - "full_name": "starkware.cairo.common.alloc.alloc.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.cairo.common.alloc.alloc.Return": { - "cairo_type": "(ptr: felt*)", - "type": "type_definition" - }, - "starkware.cairo.common.alloc.alloc.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.bitwise.ALL_ONES": { - "type": "const", - "value": -106710729501573572985208420194530329073740042555888586719234 - }, - "starkware.cairo.common.bitwise.BitwiseBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", - "type": "alias" - }, - "starkware.cairo.common.bool.FALSE": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.bool.TRUE": { - "type": "const", - "value": 1 - }, - "starkware.cairo.common.cairo_builtins.BitwiseBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", - "members": { - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "x_and_y": { - "cairo_type": "felt", - "offset": 2 - }, - "x_or_y": { - "cairo_type": "felt", - "offset": 4 - }, - "x_xor_y": { - "cairo_type": "felt", - "offset": 3 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.EcOpBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.EcOpBuiltin", - "members": { - "m": { - "cairo_type": "felt", - "offset": 4 - }, - "p": { - "cairo_type": "starkware.cairo.common.ec_point.EcPoint", - "offset": 0 - }, - "q": { - "cairo_type": "starkware.cairo.common.ec_point.EcPoint", - "offset": 2 - }, - "r": { - "cairo_type": "starkware.cairo.common.ec_point.EcPoint", - "offset": 5 - } - }, - "size": 7, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.EcPoint": { - "destination": "starkware.cairo.common.ec_point.EcPoint", - "type": "alias" - }, - "starkware.cairo.common.cairo_builtins.HashBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "members": { - "result": { - "cairo_type": "felt", - "offset": 2 - }, - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.KeccakBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.KeccakBuiltin", - "members": { - "input": { - "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "offset": 0 - }, - "output": { - "cairo_type": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "offset": 8 - } - }, - "size": 16, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.KeccakBuiltinState": { - "destination": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "type": "alias" - }, - "starkware.cairo.common.cairo_builtins.PoseidonBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.PoseidonBuiltin", - "members": { - "input": { - "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "offset": 0 - }, - "output": { - "cairo_type": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "offset": 3 - } - }, - "size": 6, - "type": "struct" - }, - "starkware.cairo.common.cairo_builtins.PoseidonBuiltinState": { - "destination": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "type": "alias" - }, - "starkware.cairo.common.cairo_builtins.SignatureBuiltin": { - "full_name": "starkware.cairo.common.cairo_builtins.SignatureBuiltin", - "members": { - "message": { - "cairo_type": "felt", - "offset": 1 - }, - "pub_key": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.dict_access.DictAccess": { - "full_name": "starkware.cairo.common.dict_access.DictAccess", - "members": { - "key": { - "cairo_type": "felt", - "offset": 0 - }, - "new_value": { - "cairo_type": "felt", - "offset": 2 - }, - "prev_value": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.cairo.common.ec_point.EcPoint": { - "full_name": "starkware.cairo.common.ec_point.EcPoint", - "members": { - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.hash.HashBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.HashBuiltin", - "type": "alias" - }, - "starkware.cairo.common.hash.hash2": { - "decorators": [], - "pc": 3, - "type": "function" - }, - "starkware.cairo.common.hash.hash2.Args": { - "full_name": "starkware.cairo.common.hash.hash2.Args", - "members": { - "x": { - "cairo_type": "felt", - "offset": 0 - }, - "y": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.hash.hash2.ImplicitArgs": { - "full_name": "starkware.cairo.common.hash.hash2.ImplicitArgs", - "members": { - "hash_ptr": { - "cairo_type": "starkware.cairo.common.cairo_builtins.HashBuiltin*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.hash.hash2.Return": { - "cairo_type": "(result: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.hash.hash2.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.keccak_state.KeccakBuiltinState": { - "full_name": "starkware.cairo.common.keccak_state.KeccakBuiltinState", - "members": { - "s0": { - "cairo_type": "felt", - "offset": 0 - }, - "s1": { - "cairo_type": "felt", - "offset": 1 - }, - "s2": { - "cairo_type": "felt", - "offset": 2 - }, - "s3": { - "cairo_type": "felt", - "offset": 3 - }, - "s4": { - "cairo_type": "felt", - "offset": 4 - }, - "s5": { - "cairo_type": "felt", - "offset": 5 - }, - "s6": { - "cairo_type": "felt", - "offset": 6 - }, - "s7": { - "cairo_type": "felt", - "offset": 7 - } - }, - "size": 8, - "type": "struct" - }, - "starkware.cairo.common.math.FALSE": { - "destination": "starkware.cairo.common.bool.FALSE", - "type": "alias" - }, - "starkware.cairo.common.math.TRUE": { - "destination": "starkware.cairo.common.bool.TRUE", - "type": "alias" - }, - "starkware.cairo.common.math.assert_250_bit": { - "decorators": ["known_ap_change"], - "pc": 56, - "type": "function" - }, - "starkware.cairo.common.math.assert_250_bit.Args": { - "full_name": "starkware.cairo.common.math.assert_250_bit.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_250_bit.HIGH_BOUND": { - "type": "const", - "value": 5316911983139663491615228241121378304 - }, - "starkware.cairo.common.math.assert_250_bit.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_250_bit.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_250_bit.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_250_bit.SHIFT": { - "type": "const", - "value": 340282366920938463463374607431768211456 - }, - "starkware.cairo.common.math.assert_250_bit.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_250_bit.UPPER_BOUND": { - "type": "const", - "value": 1809251394333065553493296640760748560207343510400633813116524750123642650624 - }, - "starkware.cairo.common.math.assert_250_bit.high": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_250_bit.high", - "references": [ - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)] + 1, felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_250_bit.low": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_250_bit.low", - "references": [ - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)], felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_250_bit.value": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_250_bit.value", - "references": [ - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le": { - "decorators": [], - "pc": 51, - "type": "function" - }, - "starkware.cairo.common.math.assert_le.Args": { - "full_name": "starkware.cairo.common.math.assert_le.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - }, - "b": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_le_felt": { - "decorators": ["known_ap_change"], - "pc": 69, - "type": "function" - }, - "starkware.cairo.common.math.assert_le_felt.Args": { - "full_name": "starkware.cairo.common.math.assert_le_felt.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - }, - "b": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le_felt.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_le_felt.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_2_HIGH": { - "type": "const", - "value": 5316911983139663648412552867652567041 - }, - "starkware.cairo.common.math.assert_le_felt.PRIME_OVER_3_HIGH": { - "type": "const", - "value": 3544607988759775765608368578435044694 - }, - "starkware.cairo.common.math.assert_le_felt.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_le_felt.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_le_felt.a": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_le_felt.a", - "references": [ - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-4), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le_felt.b": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_le_felt.b", - "references": [ - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le_felt.range_check_ptr": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_le_felt.range_check_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-5), felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 8 - }, - "pc": 79, - "value": "cast([fp + (-5)] + 4, felt)" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_le_felt.skip_exclude_a": { - "pc": 93, - "type": "label" - }, - "starkware.cairo.common.math.assert_le_felt.skip_exclude_b_minus_a": { - "pc": 105, - "type": "label" - }, - "starkware.cairo.common.math.assert_nn": { - "decorators": [], - "pc": 47, - "type": "function" - }, - "starkware.cairo.common.math.assert_nn.Args": { - "full_name": "starkware.cairo.common.math.assert_nn.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_nn.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_nn.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_nn.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_nn.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_nn.a": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_nn.a", - "references": [ - { - "ap_tracking_data": { - "group": 7, - "offset": 0 - }, - "pc": 47, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math.assert_not_zero": { - "decorators": [], - "pc": 42, - "type": "function" - }, - "starkware.cairo.common.math.assert_not_zero.Args": { - "full_name": "starkware.cairo.common.math.assert_not_zero.Args", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math.assert_not_zero.ImplicitArgs": { - "full_name": "starkware.cairo.common.math.assert_not_zero.ImplicitArgs", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.cairo.common.math.assert_not_zero.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.math.assert_not_zero.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math.assert_not_zero.value": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math.assert_not_zero.value", - "references": [ - { - "ap_tracking_data": { - "group": 6, - "offset": 0 - }, - "pc": 42, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math_cmp.RC_BOUND": { - "type": "const", - "value": 340282366920938463463374607431768211456 - }, - "starkware.cairo.common.math_cmp.assert_le_felt": { - "destination": "starkware.cairo.common.math.assert_le_felt", - "type": "alias" - }, - "starkware.cairo.common.math_cmp.assert_lt_felt": { - "destination": "starkware.cairo.common.math.assert_lt_felt", - "type": "alias" - }, - "starkware.cairo.common.math_cmp.is_le": { - "decorators": ["known_ap_change"], - "pc": 187, - "type": "function" - }, - "starkware.cairo.common.math_cmp.is_le.Args": { - "full_name": "starkware.cairo.common.math_cmp.is_le.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - }, - "b": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_le.ImplicitArgs": { - "full_name": "starkware.cairo.common.math_cmp.is_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_le.Return": { - "cairo_type": "felt", - "type": "type_definition" - }, - "starkware.cairo.common.math_cmp.is_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math_cmp.is_nn": { - "decorators": ["known_ap_change"], - "pc": 154, - "type": "function" - }, - "starkware.cairo.common.math_cmp.is_nn.Args": { - "full_name": "starkware.cairo.common.math_cmp.is_nn.Args", - "members": { - "a": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs": { - "full_name": "starkware.cairo.common.math_cmp.is_nn.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.math_cmp.is_nn.Return": { - "cairo_type": "felt", - "type": "type_definition" - }, - "starkware.cairo.common.math_cmp.is_nn.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.math_cmp.is_nn.a": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.math_cmp.is_nn.a", - "references": [ - { - "ap_tracking_data": { - "group": 12, - "offset": 0 - }, - "pc": 154, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.math_cmp.is_nn.need_felt_comparison": { - "pc": 178, - "type": "label" - }, - "starkware.cairo.common.math_cmp.is_nn.out_of_range": { - "pc": 164, - "type": "label" - }, - "starkware.cairo.common.poseidon_state.PoseidonBuiltinState": { - "full_name": "starkware.cairo.common.poseidon_state.PoseidonBuiltinState", - "members": { - "s0": { - "cairo_type": "felt", - "offset": 0 - }, - "s1": { - "cairo_type": "felt", - "offset": 1 - }, - "s2": { - "cairo_type": "felt", - "offset": 2 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.cairo.common.pow.assert_le": { - "destination": "starkware.cairo.common.math.assert_le", - "type": "alias" - }, - "starkware.cairo.common.pow.get_ap": { - "destination": "starkware.cairo.common.registers.get_ap", - "type": "alias" - }, - "starkware.cairo.common.pow.get_fp_and_pc": { - "destination": "starkware.cairo.common.registers.get_fp_and_pc", - "type": "alias" - }, - "starkware.cairo.common.registers.get_ap": { - "destination": "starkware.cairo.lang.compiler.lib.registers.get_ap", - "type": "alias" - }, - "starkware.cairo.common.registers.get_fp_and_pc": { - "destination": "starkware.cairo.lang.compiler.lib.registers.get_fp_and_pc", - "type": "alias" - }, - "starkware.cairo.common.uint256.ALL_ONES": { - "type": "const", - "value": 340282366920938463463374607431768211455 - }, - "starkware.cairo.common.uint256.BitwiseBuiltin": { - "destination": "starkware.cairo.common.cairo_builtins.BitwiseBuiltin", - "type": "alias" - }, - "starkware.cairo.common.uint256.HALF_SHIFT": { - "type": "const", - "value": 18446744073709551616 - }, - "starkware.cairo.common.uint256.SHIFT": { - "type": "const", - "value": 340282366920938463463374607431768211456 - }, - "starkware.cairo.common.uint256.Uint256": { - "full_name": "starkware.cairo.common.uint256.Uint256", - "members": { - "high": { - "cairo_type": "felt", - "offset": 1 - }, - "low": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.assert_in_range": { - "destination": "starkware.cairo.common.math.assert_in_range", - "type": "alias" - }, - "starkware.cairo.common.uint256.assert_le": { - "destination": "starkware.cairo.common.math.assert_le", - "type": "alias" - }, - "starkware.cairo.common.uint256.assert_nn_le": { - "destination": "starkware.cairo.common.math.assert_nn_le", - "type": "alias" - }, - "starkware.cairo.common.uint256.assert_not_zero": { - "destination": "starkware.cairo.common.math.assert_not_zero", - "type": "alias" - }, - "starkware.cairo.common.uint256.bitwise_and": { - "destination": "starkware.cairo.common.bitwise.bitwise_and", - "type": "alias" - }, - "starkware.cairo.common.uint256.bitwise_or": { - "destination": "starkware.cairo.common.bitwise.bitwise_or", - "type": "alias" - }, - "starkware.cairo.common.uint256.bitwise_xor": { - "destination": "starkware.cairo.common.bitwise.bitwise_xor", - "type": "alias" - }, - "starkware.cairo.common.uint256.get_ap": { - "destination": "starkware.cairo.common.registers.get_ap", - "type": "alias" - }, - "starkware.cairo.common.uint256.get_fp_and_pc": { - "destination": "starkware.cairo.common.registers.get_fp_and_pc", - "type": "alias" - }, - "starkware.cairo.common.uint256.is_le": { - "destination": "starkware.cairo.common.math_cmp.is_le", - "type": "alias" - }, - "starkware.cairo.common.uint256.pow": { - "destination": "starkware.cairo.common.pow.pow", - "type": "alias" - }, - "starkware.cairo.common.uint256.uint256_add": { - "decorators": [], - "pc": 197, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_add.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_add.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_add.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_add.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_add.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256, carry: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_add.SIZEOF_LOCALS": { - "type": "const", - "value": 4 - }, - "starkware.cairo.common.uint256.uint256_add.a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "full_name": "starkware.cairo.common.uint256.uint256_add.a", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_add.b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "full_name": "starkware.cairo.common.uint256.uint256_add.b", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_add.carry_high": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.uint256.uint256_add.carry_high", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 3, felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_add.carry_low": { - "cairo_type": "felt", - "full_name": "starkware.cairo.common.uint256.uint256_add.carry_low", - "references": [ - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 2, felt*)]" - } - ], - "type": "reference" - }, - "starkware.cairo.common.uint256.uint256_check": { - "decorators": [], - "pc": 192, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_check.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_check.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_check.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_check.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_check.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_check.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_eq": { - "decorators": [], - "pc": 287, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_eq.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_eq.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_eq.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_eq.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_eq.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_le": { - "decorators": [], - "pc": 236, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_le.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_le.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_le.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_le.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_le.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_le.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_lt": { - "decorators": [], - "pc": 219, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_lt.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_lt.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_lt.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_lt.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_lt.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_neg": { - "decorators": [], - "pc": 256, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_neg.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_neg.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_neg.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_neg.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_neg.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_not": { - "decorators": [], - "pc": 248, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_not.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_not.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_not.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_not.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_not.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_not.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.cairo.common.uint256.uint256_sub": { - "decorators": [], - "pc": 271, - "type": "function" - }, - "starkware.cairo.common.uint256.uint256_sub.Args": { - "full_name": "starkware.cairo.common.uint256.uint256_sub.Args", - "members": { - "a": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 0 - }, - "b": { - "cairo_type": "starkware.cairo.common.uint256.Uint256", - "offset": 2 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs": { - "full_name": "starkware.cairo.common.uint256.uint256_sub.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.cairo.common.uint256.uint256_sub.Return": { - "cairo_type": "(res: starkware.cairo.common.uint256.Uint256)", - "type": "type_definition" - }, - "starkware.cairo.common.uint256.uint256_sub.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.storage.ADDR_BOUND": { - "type": "const", - "value": -106710729501573572985208420194530329073740042555888586719489 - }, - "starkware.starknet.common.storage.MAX_STORAGE_ITEM_SIZE": { - "type": "const", - "value": 256 - }, - "starkware.starknet.common.storage.assert_250_bit": { - "destination": "starkware.cairo.common.math.assert_250_bit", - "type": "alias" - }, - "starkware.starknet.common.storage.normalize_address": { - "decorators": ["known_ap_change"], - "pc": 114, - "type": "function" - }, - "starkware.starknet.common.storage.normalize_address.Args": { - "full_name": "starkware.starknet.common.storage.normalize_address.Args", - "members": { - "addr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.storage.normalize_address.ImplicitArgs": { - "full_name": "starkware.starknet.common.storage.normalize_address.ImplicitArgs", - "members": { - "range_check_ptr": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.storage.normalize_address.Return": { - "cairo_type": "(res: felt)", - "type": "type_definition" - }, - "starkware.starknet.common.storage.normalize_address.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.storage.normalize_address.addr": { - "cairo_type": "felt", - "full_name": "starkware.starknet.common.storage.normalize_address.addr", - "references": [ - { - "ap_tracking_data": { - "group": 11, - "offset": 0 - }, - "pc": 114, - "value": "[cast(fp + (-3), felt*)]" - } - ], - "type": "reference" - }, - "starkware.starknet.common.storage.normalize_address.is_250": { - "cairo_type": "felt", - "full_name": "starkware.starknet.common.storage.normalize_address.is_250", - "references": [ - { - "ap_tracking_data": { - "group": 11, - "offset": 2 - }, - "pc": 134, - "value": "[cast(ap + (-1), felt*)]" - } - ], - "type": "reference" - }, - "starkware.starknet.common.storage.normalize_address.is_small": { - "cairo_type": "felt", - "full_name": "starkware.starknet.common.storage.normalize_address.is_small", - "references": [ - { - "ap_tracking_data": { - "group": 11, - "offset": 1 - }, - "pc": 116, - "value": "[cast(ap + (-1), felt*)]" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.CALL_CONTRACT_SELECTOR": { - "type": "const", - "value": 20853273475220472486191784820 - }, - "starkware.starknet.common.syscalls.CallContract": { - "full_name": "starkware.starknet.common.syscalls.CallContract", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.CallContractRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", - "offset": 5 - } - }, - "size": 7, - "type": "struct" - }, - "starkware.starknet.common.syscalls.CallContractRequest": { - "full_name": "starkware.starknet.common.syscalls.CallContractRequest", - "members": { - "calldata": { - "cairo_type": "felt*", - "offset": 4 - }, - "calldata_size": { - "cairo_type": "felt", - "offset": 3 - }, - "contract_address": { - "cairo_type": "felt", - "offset": 1 - }, - "function_selector": { - "cairo_type": "felt", - "offset": 2 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.starknet.common.syscalls.CallContractResponse": { - "full_name": "starkware.starknet.common.syscalls.CallContractResponse", - "members": { - "retdata": { - "cairo_type": "felt*", - "offset": 1 - }, - "retdata_size": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DELEGATE_CALL_SELECTOR": { - "type": "const", - "value": 21167594061783206823196716140 - }, - "starkware.starknet.common.syscalls.DELEGATE_L1_HANDLER_SELECTOR": { - "type": "const", - "value": 23274015802972845247556842986379118667122 - }, - "starkware.starknet.common.syscalls.DEPLOY_SELECTOR": { - "type": "const", - "value": 75202468540281 - }, - "starkware.starknet.common.syscalls.Deploy": { - "full_name": "starkware.starknet.common.syscalls.Deploy", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.DeployRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.DeployResponse", - "offset": 6 - } - }, - "size": 9, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DeployRequest": { - "full_name": "starkware.starknet.common.syscalls.DeployRequest", - "members": { - "class_hash": { - "cairo_type": "felt", - "offset": 1 - }, - "constructor_calldata": { - "cairo_type": "felt*", - "offset": 4 - }, - "constructor_calldata_size": { - "cairo_type": "felt", - "offset": 3 - }, - "contract_address_salt": { - "cairo_type": "felt", - "offset": 2 - }, - "deploy_from_zero": { - "cairo_type": "felt", - "offset": 5 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 6, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DeployResponse": { - "full_name": "starkware.starknet.common.syscalls.DeployResponse", - "members": { - "constructor_retdata": { - "cairo_type": "felt*", - "offset": 2 - }, - "constructor_retdata_size": { - "cairo_type": "felt", - "offset": 1 - }, - "contract_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.DictAccess": { - "destination": "starkware.cairo.common.dict_access.DictAccess", - "type": "alias" - }, - "starkware.starknet.common.syscalls.EMIT_EVENT_SELECTOR": { - "type": "const", - "value": 1280709301550335749748 - }, - "starkware.starknet.common.syscalls.EmitEvent": { - "full_name": "starkware.starknet.common.syscalls.EmitEvent", - "members": { - "data": { - "cairo_type": "felt*", - "offset": 4 - }, - "data_len": { - "cairo_type": "felt", - "offset": 3 - }, - "keys": { - "cairo_type": "felt*", - "offset": 2 - }, - "keys_len": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GET_BLOCK_NUMBER_SELECTOR": { - "type": "const", - "value": 1448089106835523001438702345020786 - }, - "starkware.starknet.common.syscalls.GET_BLOCK_TIMESTAMP_SELECTOR": { - "type": "const", - "value": 24294903732626645868215235778792757751152 - }, - "starkware.starknet.common.syscalls.GET_CALLER_ADDRESS_SELECTOR": { - "type": "const", - "value": 94901967781393078444254803017658102643 - }, - "starkware.starknet.common.syscalls.GET_CONTRACT_ADDRESS_SELECTOR": { - "type": "const", - "value": 6219495360805491471215297013070624192820083 - }, - "starkware.starknet.common.syscalls.GET_SEQUENCER_ADDRESS_SELECTOR": { - "type": "const", - "value": 1592190833581991703053805829594610833820054387 - }, - "starkware.starknet.common.syscalls.GET_TX_INFO_SELECTOR": { - "type": "const", - "value": 1317029390204112103023 - }, - "starkware.starknet.common.syscalls.GET_TX_SIGNATURE_SELECTOR": { - "type": "const", - "value": 1448089128652340074717162277007973 - }, - "starkware.starknet.common.syscalls.GetBlockNumber": { - "full_name": "starkware.starknet.common.syscalls.GetBlockNumber", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockNumberResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockNumberRequest": { - "full_name": "starkware.starknet.common.syscalls.GetBlockNumberRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockNumberResponse": { - "full_name": "starkware.starknet.common.syscalls.GetBlockNumberResponse", - "members": { - "block_number": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockTimestamp": { - "full_name": "starkware.starknet.common.syscalls.GetBlockTimestamp", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockTimestampRequest": { - "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetBlockTimestampResponse": { - "full_name": "starkware.starknet.common.syscalls.GetBlockTimestampResponse", - "members": { - "block_timestamp": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetCallerAddress": { - "full_name": "starkware.starknet.common.syscalls.GetCallerAddress", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetCallerAddressResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetCallerAddressRequest": { - "full_name": "starkware.starknet.common.syscalls.GetCallerAddressRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetCallerAddressResponse": { - "full_name": "starkware.starknet.common.syscalls.GetCallerAddressResponse", - "members": { - "caller_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetContractAddress": { - "full_name": "starkware.starknet.common.syscalls.GetContractAddress", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetContractAddressResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetContractAddressRequest": { - "full_name": "starkware.starknet.common.syscalls.GetContractAddressRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetContractAddressResponse": { - "full_name": "starkware.starknet.common.syscalls.GetContractAddressResponse", - "members": { - "contract_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetSequencerAddress": { - "full_name": "starkware.starknet.common.syscalls.GetSequencerAddress", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetSequencerAddressRequest": { - "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetSequencerAddressResponse": { - "full_name": "starkware.starknet.common.syscalls.GetSequencerAddressResponse", - "members": { - "sequencer_address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxInfo": { - "full_name": "starkware.starknet.common.syscalls.GetTxInfo", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxInfoResponse", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxInfoRequest": { - "full_name": "starkware.starknet.common.syscalls.GetTxInfoRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxInfoResponse": { - "full_name": "starkware.starknet.common.syscalls.GetTxInfoResponse", - "members": { - "tx_info": { - "cairo_type": "starkware.starknet.common.syscalls.TxInfo*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxSignature": { - "full_name": "starkware.starknet.common.syscalls.GetTxSignature", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.GetTxSignatureResponse", - "offset": 1 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxSignatureRequest": { - "full_name": "starkware.starknet.common.syscalls.GetTxSignatureRequest", - "members": { - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.GetTxSignatureResponse": { - "full_name": "starkware.starknet.common.syscalls.GetTxSignatureResponse", - "members": { - "signature": { - "cairo_type": "felt*", - "offset": 1 - }, - "signature_len": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.LIBRARY_CALL_L1_HANDLER_SELECTOR": { - "type": "const", - "value": 436233452754198157705746250789557519228244616562 - }, - "starkware.starknet.common.syscalls.LIBRARY_CALL_SELECTOR": { - "type": "const", - "value": 92376026794327011772951660 - }, - "starkware.starknet.common.syscalls.LibraryCall": { - "full_name": "starkware.starknet.common.syscalls.LibraryCall", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.LibraryCallRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.CallContractResponse", - "offset": 5 - } - }, - "size": 7, - "type": "struct" - }, - "starkware.starknet.common.syscalls.LibraryCallRequest": { - "full_name": "starkware.starknet.common.syscalls.LibraryCallRequest", - "members": { - "calldata": { - "cairo_type": "felt*", - "offset": 4 - }, - "calldata_size": { - "cairo_type": "felt", - "offset": 3 - }, - "class_hash": { - "cairo_type": "felt", - "offset": 1 - }, - "function_selector": { - "cairo_type": "felt", - "offset": 2 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 5, - "type": "struct" - }, - "starkware.starknet.common.syscalls.REPLACE_CLASS_SELECTOR": { - "type": "const", - "value": 25500403217443378527601783667 - }, - "starkware.starknet.common.syscalls.ReplaceClass": { - "full_name": "starkware.starknet.common.syscalls.ReplaceClass", - "members": { - "class_hash": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.SEND_MESSAGE_TO_L1_SELECTOR": { - "type": "const", - "value": 433017908768303439907196859243777073 - }, - "starkware.starknet.common.syscalls.STORAGE_READ_SELECTOR": { - "type": "const", - "value": 100890693370601760042082660 - }, - "starkware.starknet.common.syscalls.STORAGE_WRITE_SELECTOR": { - "type": "const", - "value": 25828017502874050592466629733 - }, - "starkware.starknet.common.syscalls.SendMessageToL1SysCall": { - "full_name": "starkware.starknet.common.syscalls.SendMessageToL1SysCall", - "members": { - "payload_ptr": { - "cairo_type": "felt*", - "offset": 3 - }, - "payload_size": { - "cairo_type": "felt", - "offset": 2 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - }, - "to_address": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageRead": { - "full_name": "starkware.starknet.common.syscalls.StorageRead", - "members": { - "request": { - "cairo_type": "starkware.starknet.common.syscalls.StorageReadRequest", - "offset": 0 - }, - "response": { - "cairo_type": "starkware.starknet.common.syscalls.StorageReadResponse", - "offset": 2 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageReadRequest": { - "full_name": "starkware.starknet.common.syscalls.StorageReadRequest", - "members": { - "address": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageReadResponse": { - "full_name": "starkware.starknet.common.syscalls.StorageReadResponse", - "members": { - "value": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.StorageWrite": { - "full_name": "starkware.starknet.common.syscalls.StorageWrite", - "members": { - "address": { - "cairo_type": "felt", - "offset": 1 - }, - "selector": { - "cairo_type": "felt", - "offset": 0 - }, - "value": { - "cairo_type": "felt", - "offset": 2 - } - }, - "size": 3, - "type": "struct" - }, - "starkware.starknet.common.syscalls.TxInfo": { - "full_name": "starkware.starknet.common.syscalls.TxInfo", - "members": { - "account_contract_address": { - "cairo_type": "felt", - "offset": 1 - }, - "chain_id": { - "cairo_type": "felt", - "offset": 6 - }, - "max_fee": { - "cairo_type": "felt", - "offset": 2 - }, - "nonce": { - "cairo_type": "felt", - "offset": 7 - }, - "signature": { - "cairo_type": "felt*", - "offset": 4 - }, - "signature_len": { - "cairo_type": "felt", - "offset": 3 - }, - "transaction_hash": { - "cairo_type": "felt", - "offset": 5 - }, - "version": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 8, - "type": "struct" - }, - "starkware.starknet.common.syscalls.emit_event": { - "decorators": [], - "pc": 32, - "type": "function" - }, - "starkware.starknet.common.syscalls.emit_event.Args": { - "full_name": "starkware.starknet.common.syscalls.emit_event.Args", - "members": { - "data": { - "cairo_type": "felt*", - "offset": 3 - }, - "data_len": { - "cairo_type": "felt", - "offset": 2 - }, - "keys": { - "cairo_type": "felt*", - "offset": 1 - }, - "keys_len": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 4, - "type": "struct" - }, - "starkware.starknet.common.syscalls.emit_event.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.emit_event.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.emit_event.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.emit_event.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.emit_event.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.emit_event.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 5, - "offset": 0 - }, - "pc": 32, - "value": "[cast(fp + (-7), felt**)]" - }, - { - "ap_tracking_data": { - "group": 5, - "offset": 1 - }, - "pc": 39, - "value": "cast([fp + (-7)] + 5, felt*)" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.get_caller_address": { - "decorators": [], - "pc": 9, - "type": "function" - }, - "starkware.starknet.common.syscalls.get_caller_address.Args": { - "full_name": "starkware.starknet.common.syscalls.get_caller_address.Args", - "members": {}, - "size": 0, - "type": "struct" - }, - "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.get_caller_address.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.get_caller_address.Return": { - "cairo_type": "(caller_address: felt)", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.get_caller_address.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.get_caller_address.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 2, - "offset": 0 - }, - "pc": 9, - "value": "[cast(fp + (-3), felt**)]" - }, - { - "ap_tracking_data": { - "group": 2, - "offset": 1 - }, - "pc": 12, - "value": "cast([fp + (-3)] + 2, felt*)" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.storage_read": { - "decorators": [], - "pc": 16, - "type": "function" - }, - "starkware.starknet.common.syscalls.storage_read.Args": { - "full_name": "starkware.starknet.common.syscalls.storage_read.Args", - "members": { - "address": { - "cairo_type": "felt", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_read.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.storage_read.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_read.Return": { - "cairo_type": "(value: felt)", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.storage_read.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.storage_read.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.storage_read.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 3, - "offset": 0 - }, - "pc": 16, - "value": "[cast(fp + (-4), felt**)]" - }, - { - "ap_tracking_data": { - "group": 3, - "offset": 1 - }, - "pc": 20, - "value": "cast([fp + (-4)] + 3, felt*)" - } - ], - "type": "reference" - }, - "starkware.starknet.common.syscalls.storage_write": { - "decorators": [], - "pc": 24, - "type": "function" - }, - "starkware.starknet.common.syscalls.storage_write.Args": { - "full_name": "starkware.starknet.common.syscalls.storage_write.Args", - "members": { - "address": { - "cairo_type": "felt", - "offset": 0 - }, - "value": { - "cairo_type": "felt", - "offset": 1 - } - }, - "size": 2, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_write.ImplicitArgs": { - "full_name": "starkware.starknet.common.syscalls.storage_write.ImplicitArgs", - "members": { - "syscall_ptr": { - "cairo_type": "felt*", - "offset": 0 - } - }, - "size": 1, - "type": "struct" - }, - "starkware.starknet.common.syscalls.storage_write.Return": { - "cairo_type": "()", - "type": "type_definition" - }, - "starkware.starknet.common.syscalls.storage_write.SIZEOF_LOCALS": { - "type": "const", - "value": 0 - }, - "starkware.starknet.common.syscalls.storage_write.syscall_ptr": { - "cairo_type": "felt*", - "full_name": "starkware.starknet.common.syscalls.storage_write.syscall_ptr", - "references": [ - { - "ap_tracking_data": { - "group": 4, - "offset": 0 - }, - "pc": 24, - "value": "[cast(fp + (-5), felt**)]" - }, - { - "ap_tracking_data": { - "group": 4, - "offset": 1 - }, - "pc": 29, - "value": "cast([fp + (-5)] + 3, felt*)" - } - ], - "type": "reference" - } - }, - "main_scope": "__main__", - "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "reference_manager": { - "references": [ - { - "ap_tracking_data": { - "group": 2, - "offset": 0 - }, - "pc": 9, - "value": "[cast(fp + (-3), felt**)]" - }, - { - "ap_tracking_data": { - "group": 3, - "offset": 0 - }, - "pc": 16, - "value": "[cast(fp + (-4), felt**)]" - }, - { - "ap_tracking_data": { - "group": 4, - "offset": 0 - }, - "pc": 24, - "value": "[cast(fp + (-5), felt**)]" - }, - { - "ap_tracking_data": { - "group": 5, - "offset": 0 - }, - "pc": 32, - "value": "[cast(fp + (-7), felt**)]" - }, - { - "ap_tracking_data": { - "group": 6, - "offset": 0 - }, - "pc": 42, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 7, - "offset": 0 - }, - "pc": 47, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)], felt*)]" - }, - { - "ap_tracking_data": { - "group": 9, - "offset": 0 - }, - "pc": 56, - "value": "[cast([fp + (-4)] + 1, felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-4), felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 10, - "offset": 0 - }, - "pc": 69, - "value": "[cast(fp + (-5), felt*)]" - }, - { - "ap_tracking_data": { - "group": 11, - "offset": 0 - }, - "pc": 114, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 11, - "offset": 1 - }, - "pc": 116, - "value": "[cast(ap + (-1), felt*)]" - }, - { - "ap_tracking_data": { - "group": 11, - "offset": 2 - }, - "pc": 134, - "value": "[cast(ap + (-1), felt*)]" - }, - { - "ap_tracking_data": { - "group": 12, - "offset": 0 - }, - "pc": 154, - "value": "[cast(fp + (-3), felt*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-6), starkware.cairo.common.uint256.Uint256*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 0 - }, - "pc": 197, - "value": "[cast(fp + (-4), starkware.cairo.common.uint256.Uint256*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 2, felt*)]" - }, - { - "ap_tracking_data": { - "group": 15, - "offset": 4 - }, - "pc": 199, - "value": "[cast(fp + 3, felt*)]" - } - ] - } - } -} diff --git a/crates/katana/contracts/compiled/oz_account_080.json b/crates/katana/contracts/compiled/oz_account_080.json deleted file mode 100644 index 8574df822e..0000000000 --- a/crates/katana/contracts/compiled/oz_account_080.json +++ /dev/null @@ -1,4390 +0,0 @@ -{ - "sierra_program": [ - "0x1", - "0x3", - "0x0", - "0x2", - "0x3", - "0x1", - "0x38d", - "0x73", - "0x67", - "0x53797374656d", - "0x800000000000000100000000000000000000000000000000", - "0x556e696e697469616c697a6564", - "0x800000000000000200000000000000000000000000000001", - "0x1", - "0x0", - "0x456e756d", - "0x800000000000000700000000000000000000000000000001", - "0x4abc19acf2110f55bbd81ec736d91bfa4d6bab076c94cfdf3127449061193d", - "0x45635374617465", - "0x800000000000000700000000000000000000000000000000", - "0x4172726179", - "0x800000000000000300000000000000000000000000000001", - "0x8", - "0x536e617073686f74", - "0x4", - "0x537472756374", - "0x800000000000000700000000000000000000000000000002", - "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", - "0x5", - "0x800000000000000300000000000000000000000000000003", - "0x161ee0e6962e56453b5d68e09d1cabe5633858c1ba3a7e73fee8c70867eced0", - "0x6", - "0x66656c74323532", - "0x1166fe35572d4e7764dac0caf1fd7fc591901fd01156db2561a07b68ab8dca2", - "0x800000000000000f00000000000000000000000000000001", - "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", - "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", - "0xa", - "0x4563506f696e74", - "0x4e6f6e5a65726f", - "0xc", - "0x426f78", - "0x42", - "0x2c", - "0x2c7badf5cd070e89531ef781330a9554b04ce4ea21304b67a30ac3d43df84a2", - "0xf", - "0x381e8d33523eda2efdaa30d501b6dfe83db6bdd909086fb338103738444ec23", - "0x800000000000000f00000000000000000000000000000003", - "0x11", - "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", - "0x13", - "0x3cca7a30d12b22cfcf3842f0061708aabfc598c01f49a4529e51e7916aa5784", - "0x12", - "0x14", - "0x800000000000000700000000000000000000000000000003", - "0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972", - "0x248e8fae2f16a35027771ffd74d6a6f3c379424b55843563a18f566bba3d905", - "0x16", - "0x28266f0414c0de3e9d181ad39a5c73a16c7514519fab3e64e293fe4c79a9fbe", - "0x14be226ed4a8370e9a1024f06dd500f119e3e7f909013eaaf51e63d2eca6712", - "0x19", - "0x34fbf7999a7a80ee576a7639d4a2ab5eff961e5aae01064a147a4e7193b88f7", - "0x1a", - "0x39d1bb6485850462fcfa1e5c499cd211a145258949ebe8aadd304a999165dc6", - "0x231d4965fc11a34a5dbf5760a6aa96609aa0166be90582301f5102b7f7eae9d", - "0x18", - "0x1c", - "0x32f0b6749e5a61f7f6bc38eae942ce592ae56233e8349466b243151ab3b637", - "0x1d", - "0x2", - "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", - "0x53746f7261676541646472657373", - "0x53746f726167654261736541646472657373", - "0x22", - "0x3ae40d407f8074730e48241717c3dd78b7128d346cf81094e31806a3a5bdf", - "0x23", - "0x800000000000000300000000000000000000000000000004", - "0x25", - "0x26", - "0x32cb17bdb0d0d053909169ec443a25462b7e27237007511f772a7d957ce924c", - "0x27", - "0x2e", - "0x3d", - "0x436f6e747261637441646472657373", - "0x800000000000000700000000000000000000000000000006", - "0x19367431bdedfe09ea99eed9ade3de00f195dd97087ed511b8942ebb45dbc5a", - "0x29", - "0x2a", - "0x2b", - "0x753634", - "0x800000000000000700000000000000000000000000000004", - "0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5", - "0x2d", - "0x38f4af6e44b2e0a6ad228a4874672855e693db590abc7105a5a9819dbbf5ba6", - "0x2f", - "0x3d37ad6eafb32512d2dd95a2917f6bf14858de22c27a1114392429f2e5c15d7", - "0x800000000000000f00000000000000000000000000000002", - "0x2c92579c09cc1c79d950a243b853521e6cc14629970e7763fb138c03a479139", - "0x33", - "0x220d0098370bbaab338f4e82fb69720a761536f00e15d656ddc9d3385b16e3", - "0x34", - "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", - "0x36", - "0x1f5d91ca543c7f9a0585a1c8beffc7a207d4af73ee640223a154b1da196a40d", - "0x38", - "0x3a", - "0x75313238", - "0x800000000000000700000000000000000000000000000008", - "0x2e655a7513158873ca2e5e659a9e175d23bf69a2325cdd0397ca3b8d864b967", - "0x3c", - "0x3508bb43f8880f8a37030d78eb1ac52d3a1abcccd991bf0258bdf64f81014ed", - "0x3e", - "0x3e1934b18d91949ab9afdbdd1866a30ccca06c2b1e6581582c6b27f8b4f6555", - "0x40", - "0x3693aea200ee3080885d21614d01b9532a8670f69e658a94addaadd72e9aca", - "0x18508a22cd4cf1437b721f596cd2277fc0a5e4dcd247b107ef2ef5fd2752cf7", - "0x43", - "0x8416421239ce8805ed9d27e6ddae62a97ab5d01883bb8f5246b4742a44b429", - "0x44", - "0x215692769bef4dad4fa84993f233ef2b9084a6d947d83521a5e257dae5d5e1b", - "0x47", - "0x3ce5192f5a34fd44f3cea940ff0f4e47518da9ada5aede3b732eb001439f046", - "0x48", - "0x28f8d296e28032baef1f420f78ea9d933102ba47a50b1c5f80fc8a3a1041da", - "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", - "0xa853c166304d20fb0711becf2cbdf482dee3cac4e9717d040b7a7ab1df7eec", - "0x4c", - "0x506564657273656e", - "0x265bdceca7ea9a7f2bd04272ca0fae2a6498e935c71d3ef73237e17187023ec", - "0x4f", - "0xe12da67791025850b8b89abc616bc4269dff27cfc5aa224bf8f0762470ea51", - "0x50", - "0x17b6ecc31946835b0d9d92c2dd7a9c14f29af0371571ae74a1b228828b2242", - "0x52", - "0x34f9bd7c6cb2dd4263175964ad75f1ff1461ddc332fbfb274e0fb2a5d7ab968", - "0x53", - "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", - "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", - "0x57", - "0x45634f70", - "0x74584e9f10ffb1a40aa5a3582e203f6758defc4a497d1a2d5a89f274a320e9", - "0x5b", - "0x800000000000000300000000000000000000000000000002", - "0x25abf8fd76a01c7e2544d26b0a2e29212b05a36781e0330b46d878e43b307d1", - "0x5d", - "0x4275696c74696e436f737473", - "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", - "0x5a", - "0x753332", - "0x28f184fd9e4406cc4475e4faaa80e83b54a57026386ee7d5fc4fa8f347e327d", - "0x62", - "0xc1f0cb41289e2f6a79051e9af1ead07112b46ff17a492a90b3944dc53a51c8", - "0x63", - "0x4761734275696c74696e", - "0x52616e6765436865636b", - "0x1c0", - "0x616c6c6f635f6c6f63616c", - "0x66696e616c697a655f6c6f63616c73", - "0x7265766f6b655f61705f747261636b696e67", - "0x77697468647261775f676173", - "0x6272616e63685f616c69676e", - "0x73746f72655f74656d70", - "0x66", - "0x65", - "0x66756e6374696f6e5f63616c6c", - "0x3", - "0x656e756d5f6d61746368", - "0x64", - "0x7374727563745f6465636f6e737472756374", - "0x61727261795f6c656e", - "0x736e617073686f745f74616b65", - "0x61", - "0x64726f70", - "0x7533325f636f6e7374", - "0x72656e616d65", - "0x7533325f6571", - "0x61727261795f6e6577", - "0x66656c743235325f636f6e7374", - "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", - "0x61727261795f617070656e64", - "0x7374727563745f636f6e737472756374", - "0x656e756d5f696e6974", - "0x60", - "0x6765745f6275696c74696e5f636f737473", - "0x5f", - "0x77697468647261775f6761735f616c6c", - "0xd", - "0x73746f72655f6c6f63616c", - "0x5e", - "0xe", - "0x5c", - "0x4f7574206f6620676173", - "0x4661696c656420746f20646573657269616c697a6520706172616d202331", - "0x59", - "0x58", - "0x10", - "0x55", - "0x54", - "0x4661696c656420746f20646573657269616c697a6520706172616d202332", - "0x56", - "0x15", - "0x51", - "0x17", - "0x4661696c656420746f20646573657269616c697a6520706172616d202333", - "0x4e", - "0x1b", - "0x4d", - "0x64697361626c655f61705f747261636b696e67", - "0x61727261795f736e617073686f745f706f705f66726f6e74", - "0x4b", - "0x6a756d70", - "0x756e626f78", - "0x1e", - "0x1f", - "0x20", - "0x647570", - "0x7533325f746f5f66656c74323532", - "0x4a", - "0x21", - "0x24", - "0x49", - "0x28", - "0x66656c743235325f69735f7a65726f", - "0x46", - "0x45", - "0x66656c743235325f737562", - "0x41", - "0x636f6e74726163745f616464726573735f746f5f66656c74323532", - "0x3f", - "0x656e61626c655f61705f747261636b696e67", - "0x100000000000000000000000000000001", - "0x4163636f756e743a20696e76616c69642074782076657273696f6e", - "0x4163636f756e743a20696e76616c69642063616c6c6572", - "0x39", - "0x30", - "0x3b", - "0x31", - "0x4163636f756e743a20696e76616c6964207369676e6174757265", - "0x56414c4944", - "0x32", - "0x37", - "0x35", - "0x3f918d17e5ee77373b56385708f855659a07f75997f365cf87748628532a055", - "0x2ceccef7f994940b3962a6c67e0ba4fcd37df7d131417c604f91e03caecc1cd", - "0x73746f726167655f626173655f616464726573735f636f6e7374", - "0x1379ac0624b939ceb9dede92211d7db5ee174fe28be72245b0a1a2abd81c98f", - "0x73746f726167655f616464726573735f66726f6d5f62617365", - "0x73746f726167655f726561645f73797363616c6c", - "0x4163636f756e743a20756e617574686f72697a6564", - "0x21adb5788e32c84f69a1863d85ef9394b7bf761a0ce1190f826984e5075c371", - "0x6765745f657865637574696f6e5f696e666f5f73797363616c6c", - "0x61727261795f706f705f66726f6e74", - "0x61727261795f676574", - "0x496e646578206f7574206f6620626f756e6473", - "0x800000000000010ffffffffffffffffb781126dcae7b2321e66a241adc64d2f", - "0x65635f706f696e745f66726f6d5f785f6e7a", - "0x756e777261705f6e6f6e5f7a65726f", - "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", - "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", - "0x65635f706f696e745f7472795f6e65775f6e7a", - "0x65635f706f696e745f69735f7a65726f", - "0x65635f706f696e745f756e77726170", - "0x656d69745f6576656e745f73797363616c6c", - "0xb", - "0x73746f726167655f77726974655f73797363616c6c", - "0x10e5fcd68658d0cf6ed280e34d0d0da9a510b7a6779230c9912806a2c939b9", - "0x9", - "0x706564657273656e", - "0xad292db4ff05a993c318438c1b6c8a8303266af2da151aa28ccece6726f1f1", - "0x626f6f6c5f6e6f745f696d706c", - "0x63616c6c5f636f6e74726163745f73797363616c6c", - "0x7", - "0x65635f73746174655f696e6974", - "0x65635f73746174655f6164645f6d756c", - "0x65635f73746174655f7472795f66696e616c697a655f6e7a", - "0x65635f706f696e745f7a65726f", - "0x65635f73746174655f616464", - "0x65635f6e6567", - "0x526573756c743a3a756e77726170206661696c65642e", - "0x38f6a5b87c23cee6e7294bcc3302e95019f70f81586ff3cac38581f5ca96381", - "0xca58956845fecb30a8cb3efe23582630dbe8b80cc1fb8fd5d5e866b1356ad", - "0x10d9", - "0xffffffffffffffff", - "0x89", - "0x81", - "0x71", - "0x68", - "0x69", - "0x6a", - "0x6b", - "0x6c", - "0x6d", - "0x6e", - "0x6f", - "0x70", - "0x72", - "0x73", - "0x74", - "0x75", - "0x76", - "0x77", - "0x78", - "0x79", - "0x7a", - "0x7b", - "0x7c", - "0x7d", - "0x7e", - "0x7f", - "0x80", - "0x82", - "0x83", - "0x115", - "0x10d", - "0xfd", - "0xbe", - "0xee", - "0xe6", - "0x1bf", - "0x1ae", - "0x1a5", - "0x194", - "0x153", - "0x184", - "0x17c", - "0x84", - "0x85", - "0x86", - "0x87", - "0x88", - "0x8a", - "0x8b", - "0x8c", - "0x8d", - "0x8e", - "0x8f", - "0x90", - "0x91", - "0x92", - "0x26a", - "0x259", - "0x250", - "0x23f", - "0x1fe", - "0x22f", - "0x227", - "0x2cf", - "0x296", - "0x2c2", - "0x2bb", - "0x340", - "0x331", - "0x2fe", - "0x323", - "0x31c", - "0x3a3", - "0x36a", - "0x396", - "0x38f", - "0x414", - "0x405", - "0x3d2", - "0x3f7", - "0x3f0", - "0x493", - "0x483", - "0x444", - "0x474", - "0x46c", - "0x544", - "0x534", - "0x523", - "0x511", - "0x4ce", - "0x500", - "0x4f8", - "0x93", - "0x94", - "0x95", - "0x5c4", - "0x5b4", - "0x575", - "0x5a5", - "0x59d", - "0x63c", - "0x62c", - "0x5f5", - "0x61d", - "0x615", - "0x653", - "0x658", - "0x674", - "0x66e", - "0x691", - "0x6b2", - "0x6cc", - "0x6e1", - "0x6e6", - "0x6f0", - "0x6ff", - "0x704", - "0x720", - "0x71a", - "0x96", - "0x73f", - "0x75c", - "0x97", - "0x773", - "0x98", - "0x99", - "0x78a", - "0x9a", - "0x9b", - "0x9c", - "0x9d", - "0x9e", - "0x9f", - "0xa0", - "0x7a0", - "0xa1", - "0x7b7", - "0x7d2", - "0x7f0", - "0xa2", - "0xa3", - "0xa4", - "0x80c", - "0xa5", - "0xa6", - "0xa7", - "0xa8", - "0xa9", - "0xaa", - "0x81b", - "0xab", - "0x81f", - "0xac", - "0xad", - "0xae", - "0x83f", - "0xaf", - "0x88e", - "0xb0", - "0xb1", - "0x859", - "0xb2", - "0xb3", - "0xb4", - "0xb5", - "0x886", - "0xb6", - "0xb7", - "0x87c", - "0xb8", - "0xb9", - "0x876", - "0xba", - "0xbb", - "0x923", - "0xbc", - "0xbd", - "0x914", - "0xbf", - "0x90c", - "0xc0", - "0xc1", - "0xc2", - "0xc3", - "0xc4", - "0xc5", - "0x8d8", - "0x8e5", - "0xc6", - "0x8fc", - "0xc7", - "0x8f5", - "0xc8", - "0xc9", - "0xca", - "0x977", - "0xcb", - "0xcc", - "0x93b", - "0xcd", - "0xce", - "0x940", - "0xcf", - "0xd0", - "0xd1", - "0x969", - "0xd2", - "0xd3", - "0x962", - "0x95c", - "0x970", - "0xd4", - "0xd5", - "0xd6", - "0x9c1", - "0xd7", - "0x9b9", - "0x9ae", - "0xd8", - "0xd9", - "0xa03", - "0x9db", - "0xda", - "0x9f9", - "0x9f3", - "0xa32", - "0xa26", - "0xa2a", - "0xdb", - "0xdc", - "0xdd", - "0xa48", - "0xde", - "0xdf", - "0xe0", - "0xa8f", - "0xe1", - "0xe2", - "0xa87", - "0xe3", - "0xe4", - "0xe5", - "0xa80", - "0xa7a", - "0xe7", - "0xe8", - "0xe9", - "0xea", - "0xeb", - "0xaa5", - "0xabb", - "0xec", - "0xad7", - "0xed", - "0xef", - "0xf0", - "0xaec", - "0xf1", - "0xf2", - "0xf3", - "0xb1b", - "0xf4", - "0xb13", - "0xf5", - "0xf6", - "0xf7", - "0xb61", - "0xf8", - "0xb57", - "0xb4f", - "0xb45", - "0xf9", - "0xfa", - "0xfb", - "0xfc", - "0xfe", - "0xff", - "0x100", - "0x101", - "0x102", - "0xb7d", - "0x103", - "0x104", - "0x105", - "0x106", - "0x107", - "0x108", - "0x109", - "0x10a", - "0x10b", - "0xb95", - "0x10c", - "0x10e", - "0x10f", - "0x110", - "0x111", - "0x112", - "0x113", - "0xbaf", - "0x114", - "0x116", - "0x117", - "0xbd0", - "0x118", - "0xbee", - "0x119", - "0xc1b", - "0xc39", - "0x11a", - "0x11b", - "0xc2e", - "0x11c", - "0x11d", - "0xc23", - "0x11e", - "0x11f", - "0x120", - "0x121", - "0x122", - "0x123", - "0xc50", - "0x124", - "0x125", - "0xc55", - "0x126", - "0x127", - "0x128", - "0xc60", - "0xca0", - "0x129", - "0xc99", - "0x12a", - "0x12b", - "0xc8c", - "0x12c", - "0x12d", - "0x12e", - "0x12f", - "0x130", - "0x131", - "0x132", - "0x133", - "0x134", - "0x135", - "0xcbd", - "0x136", - "0x137", - "0xce7", - "0x138", - "0x139", - "0x13a", - "0x13b", - "0xce1", - "0x13c", - "0x13d", - "0x13e", - "0x13f", - "0x140", - "0xd06", - "0x141", - "0x142", - "0xd27", - "0x143", - "0x144", - "0x145", - "0x146", - "0x147", - "0xd41", - "0x148", - "0xd3a", - "0x149", - "0x14a", - "0x14b", - "0x14c", - "0xd4e", - "0x14d", - "0x14e", - "0xd53", - "0x14f", - "0x150", - "0x151", - "0xd5e", - "0x152", - "0x154", - "0x155", - "0xdae", - "0x156", - "0xd72", - "0x157", - "0x158", - "0xd77", - "0xda3", - "0x159", - "0x15a", - "0x15b", - "0xd99", - "0x15c", - "0x15d", - "0xd92", - "0x15e", - "0x15f", - "0x160", - "0x161", - "0xdfa", - "0xdcb", - "0xdd0", - "0xdec", - "0xde6", - "0xdf3", - "0x162", - "0x163", - "0xe0f", - "0x164", - "0x165", - "0x166", - "0x167", - "0x168", - "0xe27", - "0x169", - "0xe39", - "0xe4b", - "0x16a", - "0xec8", - "0x16b", - "0x16c", - "0xebd", - "0x16d", - "0x16e", - "0x16f", - "0xeb1", - "0x170", - "0x171", - "0x172", - "0xe6f", - "0x173", - "0x174", - "0x175", - "0x176", - "0xe82", - "0xe95", - "0xe93", - "0x177", - "0xe9c", - "0xeab", - "0xea9", - "0x178", - "0xed8", - "0xef0", - "0x179", - "0x17a", - "0x17b", - "0x17d", - "0x17e", - "0x17f", - "0xf14", - "0x180", - "0x181", - "0xf19", - "0x182", - "0x183", - "0xf24", - "0x185", - "0x186", - "0xf3a", - "0xf3f", - "0xf4a", - "0x187", - "0x188", - "0x189", - "0x18a", - "0x18b", - "0xf68", - "0x18c", - "0x18d", - "0x18e", - "0x18f", - "0x190", - "0x191", - "0xfa3", - "0xf98", - "0xf9d", - "0x192", - "0x193", - "0x195", - "0x196", - "0xfaf", - "0x197", - "0xfc2", - "0xfc6", - "0xfd0", - "0xfd5", - "0xfe2", - "0x198", - "0x199", - "0x19a", - "0x19b", - "0x19c", - "0xff1", - "0x19d", - "0x19e", - "0x1003", - "0x19f", - "0x1a0", - "0x1008", - "0x1a1", - "0x1a2", - "0x1a3", - "0x1013", - "0x1020", - "0x1030", - "0x1a4", - "0x1a6", - "0x1a7", - "0x102b", - "0x102e", - "0x1a8", - "0x1a9", - "0x1aa", - "0x1039", - "0x103f", - "0x1ab", - "0x1ac", - "0x104b", - "0x104e", - "0x1056", - "0x1ad", - "0x106a", - "0x1af", - "0x1072", - "0x1b0", - "0x1b1", - "0x1b2", - "0x1b3", - "0x107d", - "0x1b4", - "0x1b5", - "0x1b6", - "0x1091", - "0x1b7", - "0x10a2", - "0x1b8", - "0x1b9", - "0x10ad", - "0x1ba", - "0x1bb", - "0x1bc", - "0x1bd", - "0x10bc", - "0x1be", - "0x1cf", - "0x27a", - "0x2dd", - "0x34e", - "0x3b1", - "0x422", - "0x4a2", - "0x553", - "0x5d3", - "0x64b", - "0x67e", - "0x698", - "0x6b8", - "0x6d4", - "0x6da", - "0x6f7", - "0x72a", - "0x747", - "0x764", - "0x779", - "0x791", - "0x7a6", - "0x7be", - "0x7da", - "0x7f8", - "0x814", - "0x829", - "0x848", - "0x89d", - "0x8a1", - "0x92b", - "0x986", - "0x9ca", - "0xa12", - "0xa3a", - "0xa4e", - "0xa97", - "0xaab", - "0xac1", - "0xac5", - "0xaf4", - "0xb25", - "0xb6b", - "0xb83", - "0xb9b", - "0xbb6", - "0xbd6", - "0xc43", - "0xc66", - "0xca6", - "0xcc4", - "0xcee", - "0xd0e", - "0xd2f", - "0xd47", - "0xd64", - "0xdbd", - "0xe08", - "0xe1a", - "0xed2", - "0xede", - "0xef6", - "0xef9", - "0xf2b", - "0xf51", - "0xf6f", - "0xf7d", - "0xfa9", - "0xfb5", - "0xfeb", - "0xff7", - "0x1019", - "0x1033", - "0x1050", - "0x105e", - "0x1060", - "0x1077", - "0x1083", - "0x1086", - "0x1095", - "0x10b2", - "0x10b5", - "0x10c5", - "0x10cf", - "0x92a4", - "0x1301812044100140803c0e0140d0300b028090180801c060140400c0200400", - "0x60540706c060681103805064060481102c180400505c05058060540705005", - "0x25014240181501c2301408084220140d084200140807c0b078100141d0141c", - "0x50a80506c06054110a40606811074050a00506c0609c11098060681104005", - "0x1001431014300181501c1d0141d0142f0182e01c2d0142c0142b0181501c10", - "0x50d8050d40605407074050d00506c0609c110cc0606811038050c80604811", - "0x1501c3d0143c0143b0182e01c3a01439014380182e01c0e01437018120442d", - "0x510806054071040506c0604811038050202102c4002c3f04005038050f806", - "0x470181501c1d01446014450141b01844044170140d030220140d0302d01443", - "0x51400513c0513805134061301102c4b128050202112405020210b40512005", - "0x550181501c250141b0181204450014540145401453018520440b1440e01450", - "0x609c110a00516406160111400501003074051400515c060b8070b40515805", - "0x5e0145d0181501c1d0141b018580442d0145c0145b0181501c1d0145a0141b", - "0x1102c621840501003118050200f074051800517c060b80705c05020210b405", - "0x1501c4f0141b018120440e0140e0140e0141701465014500140e0146401863", - "0x51a806110110b4051a4051a006054071400506c06048110b40519c0519806", - "0x6d0181501c6c014170141b018150441d014220146b0181501c100140e01450", - "0x605407074051c00506c0609c110d0051bc0616011038050201f0b4051b805", - "0x310141b018120441d01441014740182e01c6101473018120442d0147201471", - "0x51e40506c0609c11168051c0051e00609c11008770b4051d8051d40605407", - "0x7d014170141b018150441d014100147c0181501c2d0147b0147a0181501c1d", - "0x506c060481103805010030740503805200060b8070b4051fc051f80605407", - "0x1d014100141b01815044170141b018120440220c2d01482014810181501c0e", - "0x702c890b4052200521c06054071180506c06218110b405214052100605407", - "0x8e014170141b018150441d014450148d0181501c0b2302d0148b0148a01815", - "0x62600625c062580625406014052509300892008910b4052400523c0605407", - "0x9e24005014a027c050149e0809d0149c05c050149926c05014992680501499", - "0x5298060f405294a301405290a3014052880e0140528417014052808e01405", - "0x992a83d014a903805014a811405014a401405014a4018a728c050149928c05", - "0x601405264050f4ae0143d2b42d014052b02a014052b00e014052ac0e01405", - "0xac0a005014ac1c005014ac0d005014ac018b12c00501499018af2b80501499", - "0x5270450140526479014052647901405290790140528879014052b05a01405", - "0x50149911805014a411805014a222005014a02d0050149e01805014b32c89d", - "0x10014052881d014052908501405280b601405278b527405270100140526461", - "0x5014a42dc3d014a90183d2b8050f4ad22c05014ac05c05014ac04005014a4", - "0xe014052888201405280ba014052782527405270b901405264b80f4052a417", - "0x9c03805014b32f0050149e0a09d0149c03805014942ec9d0149c03805014a4", - "0x5290be0f4052a42a274052707d014052787f01405280bd014052782c27405", - "0x9d0149c1ec05014a4304050149e0c49d0149c3009d0149c0b49d0149c2fc05", - "0xc527405270c401405264c30f4052a4362740527034274052703927405270c2", - "0x9c0e89d0149c0c405014990c405014a40c405014a21d805014a0318050149e", - "0x6328c9014052641401405264060f4c90143d2b40e014053200631c3c27405", - "0x5014a608805014a803805014cb324050149e0143d324050f4ad07405014ac", - "0x50f49f0143d2b49f01405264060f49f0143d2b490014052b0cc274052700e", - "0x50f4ad22005014ac3389d0149c1c005014993349d0149c0143d238050f4ad", - "0x52b0063401701405284610140533c050f4b40143d2b4b401405264060f4b4", - "0xad2d805014990183d2d8050f4ad21405014ac3489d0149c344050149934405", - "0x3d2b4ba01405264060f4ba0143d2b482014052b04127405270050f4b60143d", - "0x9c0143d2f0050f4ad2f005014990183d2f0050f4ad07405014990143d2e805", - "0x3d2b4050f4bd0143d2b4bd01405264060f4bd0143d2b47f014052b04327405", - "0xa41c805014a0350050149e1189d0149c1149d0149c34c9d0149c0143d1f405", - "0x5270050f4c10143d2b4c101405264060f4c10143d2b47b014052b07001405", - "0x50f4ad1d805014ac13c9d0149c16805014991389d0149c3549d0149c1209d", - "0x60f4052a431014052783101405298050f4c60143d2b4c601405264060f4c6", - "0x50f4ad018d603805014cf16805014a41409d0149c1e405014a00143d014a9", - "0x52ac6c014052786e01405280d8014052782327405270d701405290060f48e", - "0x50149e1249d0149c018db1a405014a0368050149e1509d0149c018d908805", - "0x52a406374650140529050014052904a014052804a0140532c6701405280dc", - "0x5014c834405014a018405014943803d014a937c3d014a91589d0149c3783d", - "0xe10140527861014052cc050f4e10143d2b4e101405264060f4e10143d2b417", - "0xa93909d0149c34405014a438c05014a418405014a43889d0149c05c05014cb", - "0xe72740527034014052647001405280060f47d0143d2b4e60f4052a4e50f405", - "0x990e805014ac0d005014a217805014a43a0050149e1689d0149c1c005014a2", - "0xd401405264060f4d40143d2b472014052b0e9274052705c274052703a01405", - "0x9916805014a00143d0c4050f4ad3a83d014a90d005014a40143d350050f4ad", - "0x52505c01405290e901405278e827405270eb0f4052a45e274052702801405", - "0xac0183d1b0050f4ad08805014ac14005014b3390050149e1809d0149c14005", - "0x50f4d80143d2b4050f46c0143d2b4d801405264060f4d80143d2b46e01405", - "0xa408c05014a008c05014cb15805014a0388050149e3849d0149c39c05014a4", - "0xda0143d2b4da01405264060f4da0143d2b469014052b04f014052904e01405", - "0x5014a80143d370050f4ad37005014990183d370050f4ad19c05014ac0143d", - "0x1701405298170140533c4801405280d5014052786127405270460140526417", - "0x5014a034c050149e1949d0149c0183d0c4050f4ad0f43d014a538c9d0149c", - "0x63bcce01405264063b8ed0f4053b082014052904a27405270050f40529443", - "0x9c19c9d0149c33405014a60143d334050f4ad33405014990183d334050f4ad", - "0xe801405264060f4e80143d2b45e014052b050014052985001405288dc27405", - "0x990183d330050f4ad1a49d0149c1a405014a40143d3a0050f4ad3c03d014a9", - "0x526439014052b03601405280c5014052782227405270da27405270cc01405", - "0x9d0149c30805014a63609d0149c34805014991b89d0149c1b09d0149c0e405", - "0x5264060f4e90143d2b45c014052b02c01405280c0014052787027405270d7", - "0x3d390050f4ad39005014990183d390050f4ad018f10143d3a4050f4ad3a405", - "0x5270bb01405298050f4bb0143d2b4bb01405264060f4bb0143d2b4063c805", - "0x5014f30143d388050f4ad38805014990183d388050f4ad15805014ac1c89d", - "0x8b01405280ae01405278d42740527022014052646c01405264220140532c22", - "0xa40143d354050f4ad35405014990183d354050f4ad12005014ac05c05014ab", - "0xf50f4052a4d301405264060f4d30143d2b443014052b00e014053d01401405", - "0xa93e43d014a908005014f82c80501499018f73d83d014a90143d34c050f4ad", - "0x200140533c063f42001405290063f0d1274052702001405264063ecfa0f405", - "0x9d0149c0f005014990143d0f0050f4ad334050149e1d89d0149c3249d0149c", - "0xff01405264060f4ff0143d2b4063f8c427405270cc01405290cc01405288c6", - "0xad0d805014ac0190017805014a01e49d0149c3fc05014a60143d3fc050f4ad", - "0x52a428014052907b27405270050f4c50143d2b4c501405264060f4c50143d", - "0x5014990183d308050f4ad01905019040190340805014a040805014ac4043d", - "0x60f4c00143d2b42c014052b02801405288c201405278050f4c20143d2b4c2", - "0x3d41c050f4ad0190608805014a02ec050149e0143d300050f4ad3000501499", - "0x52640642406420c1274052710701405298050f5070143d2b5070140526406", - "0x50149e0190d0190c2c805014a408005014a62e405014a60190b0190a27405", - "0x3c0143d2b4ff0140527810014052987f274052703d014052647d27405270cc", - "0x3d014a92f09d0149c43c3d014a90f0050149e2f49d0149c4383d014a90183d", - "0x6018064443a01405280390140528107014052783d01405278bf2740527110", - "0x170f5120f4050183d2740601912014060f4060191201406014060500544805", - "0x1120150701417018b2015120141701414018064480501810019020383d44d07", - "0x540806080ff0749d44805094b52c89d0380609405448052740541c062d405", - "0xff0182a0b03d448052ec05074060191201406040060a005450bb015120f420", - "0xb201831015120142c01420018064480501810018c0015150b4054483d0a805", - "0x62ec06019120143901425018340e43d44805308052d40630805448050c405", - "0x50d0050a00601912014c5014250183a3143d448050d8052d4060d80544805", - "0x3d3303c0f42a0183c015120143c0142c018cc015120143a014280183c01512", - "0x6019120142d014c00180644805050050b406019120140604006018d501912", - "0xcd0f434018ce01512014ce01439018ce015120140630806334054480501831", - "0x430143a0184301512014d21043d31406104054480501836018d201512014ce", - "0x50f4050f00611805448053fc0505c061140544805074050500634c0544805", - "0xcd018064480501810018d51204611410014d501512014d3014cc0184801512", - "0x8e1404f0f5120f44e3fc1d274d20184e015120144e014ce0184e0151201406", - "0x615805448051240510c061240544805018410180644805018100185408c3d", - "0x48018e701512014e41583d11806390054480538805114063880544805018d3", - "0x505c06180054480513c0505006019120145a014d50185c1683d4480539c05", - "0x2d0144f018e3015120145c0144e01861015120143d0143c018e10151201450", - "0x5040140f423018e80405e3a41044805194e3184e118014140061940544805", - "0x112014060c40601912014060400619c052144a015120f4e8014540181001512", - "0x112014da014e2018223683d448051a405158061a40544805128051240637005", - "0x720151201422014e401870015120145e01417018d701512014e90141401806", - "0xd80145c018d81b86c27512014d41c87035c101680635005448053700539c06", - "0x517806318760f512014d1014e9018064480501810018c9014bd344054483d", - "0x51e4053840601912014c401460018793103d448051d8053a00601912014c6", - "0x1120146c014140187d01512014c1014e3018c1015120147b014610187b01512", - "0x5448051f405330062f00544805040050f0062f405448051b80505c061fc05", - "0x6c014140188201512014c90143a018064480501810018bf2f0bd1fc10014bf", - "0x5208053300622c0544805040050f0062e405448051b80505c062e80544805", - "0x14018b601512014670143a0180644805018100188522cb92e8100148501512", - "0x5330062c00544805040050f0062d005448051780505c0622005448053a405", - "0x601912014140142d018064480501810018ae2c0b422010014ae01512014b6", - "0x5238050e406238054480501865018a301512014060c406019120142d014c0", - "0x52409f0f4c50189f01512014060d8062400544805238a30f4340188e01512", - "0x1120145401417018000151201423014140189a015120149b0143a0189b01512", - "0x64611745800040054600544805268053300645c05448050f4050f00645805", - "0x1120142c0144a0180644805050050b40601912014c00145e018064480501810", - "0x340191a015120151a014390191a015120140619c0646405448050183101806", - "0x3a0191d015120151b4703d314064700544805018360191b015120151a4643d", - "0x50f00647c05448053fc0505c0645405448050740505006478054480547405", - "0x64480501810019214811f4541001521015120151e014cc01920015120143d", - "0x1701923015120141d014140192201512014280143a0180644805050050b406", - "0x123040054980544805488053300649405448050f4050f00649005448053fc05", - "0x310180644805274051280601912014140142d0180644805018100192649524", - "0x12849c3d0d0064a005448054a0050e4064a0054480501865019270151201406", - "0x54ac050e8064ac05448054a52a0f4c50192a01512014060d8064a40544805", - "0x1120143d0143c019140151201502014170192d015120140e014140192c01512", - "0x3d2740601912014060f4064bd2e4512d040054bc05448054b005330064b805", - "0x200151201414014140180644805018100180e41c3d4c0170503d4483d0f406", - "0x9d448052d4b20809d038062d405448050400541c062c8054480505c0505c06", - "0x509405074060191201406040062ec054c425015120f4ff01502018ff07502", - "0x28014200180644805018100182d015320a8054483d0b0053fc060b0280f512", - "0xc201425018393083d448050c4052d4060c40544805300052c8063000544805", - "0x1120143601425018c50d83d448050d0052d4060d00544805018bb0180644805", - "0x3a015120143a0142c0183c01512014c5014280183a01512014390142801806", - "0x3101806448050a8053000601912014060400601933019120f43c0e83d0a806", - "0xcd3303d0d0063340544805334050e4063340544805018c2018cc0151201406", - "0x5104050e8061040544805338d20f4c5018d201512014060d8063380544805", - "0x1120141d01417018450151201405014dc018d30151201502014140184301512", - "0xd512046114d305005354054480510c05330061200544805274050f00611805", - "0x102274d20184e015120144e014ce0184e015120140633406019120140604006", - "0x61240544805018410180644805018100185408c3d4d05013c3d4483d1381d", - "0x3d11806390054480538805114063880544805018d301856015120144901443", - "0x505006019120145a014d50185c1683d4480539c051200639c054480539056", - "0x9d0143c01865015120145001417018e30151201405014dc01861015120144f", - "0xe3184171a40637005448050a80513c0619c054480517005138061280544805", - "0x10018da015351a4054483d3840536806384603a05e3a414448053706712865", - "0x1120146c0146c0186c0151201469014220182201512014060c4060191201406", - "0x5448050880539c061c80544805360050e406019120146e0146e018d81b83d", - "0x3d4480535c053a00601912014700145e0187035c3d44805350720f4d8018d4", - "0xc60151201476014610187601512014c9014e101806448053440518006324d1", - "0x61ec054480517805370061e405448053a4050500631005448053180538c06", - "0x140147f01512014c4014cc0187d01512014600143c018c101512014e801417", - "0x112014e901414018bd01512014da0143a0180644805018100187f1f4c11ec79", - "0x544805180050f00620805448053a00505c062fc054480517805370062f005", - "0x5300060191201406040062e4ba208bf2f014014b901512014bd014cc018ba", - "0x544805214050e4062140544805018650188b01512014060c406019120142a", - "0x5448052d8880f4c50188801512014060d8062d805448052148b0f43401885", - "0xa30151201405014dc018ae015120142301414018b001512014b40143a018b4", - "0x527c05448052c005330062400544805274050f00623805448051500505c06", - "0x112014280144a01806448050b4051780601912014060400627c90238a32b814", - "0x340189a015120149a014390189a015120140619c0626c05448050183101806", - "0x3a0191701512014004583d3140645805448050183601800015120149a26c3d", - "0x505c064680544805014053700646405448054080505006460054480545c05", - "0x11a464140151d0151201518014cc0191c015120149d0143c0191b015120141d", - "0x1150151201502014140191e01512014bb0143a0180644805018100191d4711b", - "0x64840544805274050f00648005448050740505c0647c05448050140537006", - "0x50400512806019120140604006489214811f4541401522015120151e014cc", - "0x64900544805490050e4064900544805018650192301512014060c40601912", - "0x649c0544805495260f4c50192601512014060d8064940544805491230f434", - "0x170192a0151201405014dc019290151201507014140192801512015270143a", - "0x129050054b405448054a005330064b00544805274050f0064ac054480503805", - "0x9d01806448050183d01806448050180501817015120140635c064b52c4ad2a", - "0x5448050400541c06019120140604006075020f536039070f5120f43d0183d", - "0x54483d080051c80641c054480541c0505006080ff0f512014b201470018b2", - "0x5448050380505c060b0054480541c05050060191201406040062d4054dc14", - "0x50b42a0b09d344060500544805050170f4d40182d01512014ff015070182a", - "0x51d8060191201406040060c4054e0c0015120f428014c9018282ec2527512", - "0x2001806448050181001836015390d0054483d0e405318060e4c20f512014c0", - "0x25018cc0f03d448050e8052d4060e80544805314052c806314054480530805", - "0xce01425018d23383d44805334052d4063340544805018bb01806448050f005", - "0x112014410142c0184301512014d2014280184101512014cc014280180644805", - "0x6448050d005180060191201406040060193a019120f4431043d0a80610405", - "0x45014390184501512014063080634c0544805018310180644805050051b806", - "0x461203d3140612005448050183601846015120144534c3d0d0061140544805", - "0x5014053700613c054480509405050061380544805354050e8063540544805", - "0x1120144e014cc01854015120149d0143c0182301512014bb014170185001512", - "0x5338061580544805018cd01806448050181001849150231404f0500512405", - "0x1120140604006168e70f53b390e20f5120f4562ec25274d2018560151201456", - "0x450185e015120140634c063a405448051700510c0617005448050184101806", - "0x6184e10f51201460014480186001512014e83a43d118063a0054480517805", - "0x505c06368054480501405370061a40544805388050500601912014e1014d5", - "0x14014390186e01512014610144e0186c015120149d0143c0182201512014e4", - "0x144480535cd81b86c088da1a5073100635c05448050d00539c063600544805", - "0x60c4060191201406040061c8054f070015120f4dc014da018dc19c4a194e3", - "0xc90146e018763243d44805344051b00634405448051c005088063500544805", - "0x51ec790f4d80187b01512014d4014e7018790151201476014390180644805", - "0x530405180061f4c10f512014c6014e801806448053100517806310c60f512", - "0x5448052f40538c062f405448051fc05184061fc05448051f4053840601912", - "0xba015120144a01417018820151201465014dc018bf01512014e301414018bc", - "0x100188b2e4ba208bf0500522c05448052f005330062e4054480519c050f006", - "0x519405370062d8054480538c050500621405448051c8050e8060191201406", - "0x11201485014cc018b001512014670143c018b4015120144a014170188801512", - "0x51b806019120143401460018064480501810018ae2c0b4220b6050052b805", - "0x544805238050e406238054480501865018a301512014060c4060191201414", - "0x5448052409f0f4c50189f01512014060d8062400544805238a30f4340188e", - "0x1160151201405014dc0180001512014e7014140189a015120149b0143a0189b", - "0x5464054480526805330064600544805274050f00645c05448051680505c06", - "0x112014c20144a01806448050d805178060191201406040064651845d1600014", - "0x50e40646c0544805018790191a01512014060c40601912014140146e01806", - "0x11d0f4c50191d01512014060d806470054480546d1a0f4340191b015120151b", - "0x5014dc0191f01512014250141401915015120151e0143a0191e015120151c", - "0x545405330064880544805274050f00648405448052ec0505c064800544805", - "0x3a0180644805050051b80601912014060400648d224852047c140152301512", - "0x505c06498054480501405370064940544805094050500649005448050c405", - "0x12649414015290151201524014cc01928015120149d0143c0192701512014bb", - "0x7b01806448053fc051280601912014b50145e018064480501810019294a127", - "0x1120152b014390192b015120140619c064a8054480501831018064480505c05", - "0x1120152c4b43d314064b40544805018360192c015120152b4a83d0d0064ac05", - "0x54480501405370064bc054480541c05050064b80544805450050e80645005", - "0x140015120152e014cc0193f015120149d0143c0193e015120140e014170193d", - "0x505c051ec0601912014100144a018064480501810019404fd3e4f52f05005", - "0x644c054480544c050e40644c0544805018650194101512014060c40601912", - "0x65100544805509430f4c50194301512014060d806508054480544d410f434", - "0x17019470151201405014dc019460151201502014140194501512015440143a", - "0x14605005528054480551405330065240544805274050f006520054480507405", - "0x9d01806448050183d01806448050180501817015120140635c065294952147", - "0x5448050400541c06019120140604006075020f54b039070f5120f43d0183d", - "0x54483d080051c80641c054480541c0505006080ff0f512014b201470018b2", - "0x5448050380505c060b0054480541c05050060191201406040062d40553014", - "0x50b42a0b09d344060500544805050170f4d40182d01512014ff015070182a", - "0x51d8060191201406040060c405534c0015120f428014c9018282ec2527512", - "0x20018064480501810018360154e0d0054483d0e405318060e4c20f512014c0", - "0x25018cc0f03d448050e8052d4060e80544805314052c806314054480530805", - "0xce01425018d23383d44805334052d4063340544805018bb01806448050f005", - "0x112014410142c0184301512014d2014280184101512014cc014280180644805", - "0x6448050d005180060191201406040060194f019120f4431043d0a80610405", - "0x45014390184501512014063080634c0544805018310180644805050051b806", - "0x461203d3140612005448050183601846015120144534c3d0d0061140544805", - "0x5014053700613c054480509405050061380544805354050e8063540544805", - "0x1120144e014cc01854015120149d0143c0182301512014bb014170185001512", - "0x5338061580544805018cd01806448050181001849150231404f0500512405", - "0x1120140604006168e70f550390e20f5120f4562ec25274d2018560151201456", - "0x450185e015120140634c063a405448051700510c0617005448050184101806", - "0x6184e10f51201460014480186001512014e83a43d118063a0054480517805", - "0x505c06368054480501405370061a40544805388050500601912014e1014d5", - "0x14014390186e01512014610144e0186c015120149d0143c0182201512014e4", - "0x144480535cd81b86c088da1a5073040635c05448050d00539c063600544805", - "0x60c4060191201406040061c80554470015120f4dc014da018dc19c4a194e3", - "0xc90146e018763243d44805344051b00634405448051c005088063500544805", - "0x51ec790f4d80187b01512014d4014e7018790151201476014390180644805", - "0x530405180061f4c10f512014c6014e801806448053100517806310c60f512", - "0x5448052f40538c062f405448051fc05184061fc05448051f4053840601912", - "0xba015120144a01417018820151201465014dc018bf01512014e301414018bc", - "0x100188b2e4ba208bf0500522c05448052f005330062e4054480519c050f006", - "0x519405370062d8054480538c050500621405448051c8050e8060191201406", - "0x11201485014cc018b001512014670143c018b4015120144a014170188801512", - "0x51b806019120143401460018064480501810018ae2c0b4220b6050052b805", - "0x544805238050e406238054480501865018a301512014060c4060191201414", - "0x5448052409f0f4c50189f01512014060d8062400544805238a30f4340188e", - "0x1160151201405014dc0180001512014e7014140189a015120149b0143a0189b", - "0x5464054480526805330064600544805274050f00645c05448051680505c06", - "0x112014c20144a01806448050d805178060191201406040064651845d1600014", - "0x50e40646c0544805018790191a01512014060c40601912014140146e01806", - "0x11d0f4c50191d01512014060d806470054480546d1a0f4340191b015120151b", - "0x5014dc0191f01512014250141401915015120151e0143a0191e015120151c", - "0x545405330064880544805274050f00648405448052ec0505c064800544805", - "0x3a0180644805050051b80601912014060400648d224852047c140152301512", - "0x505c06498054480501405370064940544805094050500649005448050c405", - "0x12649414015290151201524014cc01928015120149d0143c0192701512014bb", - "0x7b01806448053fc051280601912014b50145e018064480501810019294a127", - "0x1120152b014390192b015120140619c064a8054480501831018064480505c05", - "0x1120152c4b43d314064b40544805018360192c015120152b4a83d0d0064ac05", - "0x54480501405370064bc054480541c05050064b80544805450050e80645005", - "0x140015120152e014cc0193f015120149d0143c0193e015120140e014170193d", - "0x505c051ec0601912014100144a018064480501810019404fd3e4f52f05005", - "0x644c054480544c050e40644c0544805018650194101512014060c40601912", - "0x65100544805509430f4c50194301512014060d806508054480544d410f434", - "0x17019470151201405014dc019460151201502014140194501512015440143a", - "0x14605005528054480551405330065240544805274050f006520054480507405", - "0x641c170f552050100f5120f4050183d2740601912014060f4065294952147", - "0x102014b501902015120140e014b20180e015120149d01420018064480501810", - "0x11201420014b50182001512014062ec06019120141d01425018ff0743d44805", - "0x5448052d4050a00609405448053fc050a00601912014b201425018b52c83d", - "0x64483d2ec250f42a018100151201410014140182501512014250142c018bb", - "0x50e4060b00544805018c20182801512014060c40601912014060400601953", - "0x2d0f4c50182d01512014060d8060a805448050b0280f4340182c015120142c", - "0x1401417018c20151201410014140183101512014c00143a018c0015120142a", - "0x340e4c2040050d805448050c405330060d005448050f4050f0060e40544805", - "0x9d34806314054480531405338063140544805018cd01806448050181001836", - "0xce015120140610406019120140604006334cc0f5540f03a0f5120f4c505010", - "0x460184301512014410144501841015120140634c0634805448053380510c06", - "0x1701806448051140535406118450f512014d301448018d301512014433483d", - "0x9d1f40608c0544805118051380614005448050f4050f00613c05448050f005", - "0x54015120f44e014da0183a015120143a014140184e3544827512014231404f", - "0x6388054480515005088061580544805018310180644805018100184901555", - "0xe7018e901512014e7014390180644805390051b80639ce40f512014e20146c", - "0xe8018064480517005178061705a0f5120145e3a43d36006178054480515805", - "0x5184063840544805180053840601912014e801460018603a03d4480516805", - "0x480141701865015120143a01414018e30151201461014e30186101512014e1", - "0x671286504005370054480538c053300619c0544805354050f0061280544805", - "0x17018da015120143a014140186901512014490143a018064480501810018dc", - "0xda040051b805448051a405330061b00544805354050f006088054480512005", - "0x39018d70151201406194063600544805018310180644805018100186e1b022", - "0x3d314061c80544805018360187001512014d73603d0d00635c054480535c05", - "0x505c06324054480533005050063440544805350050e80635005448051c072", - "0x7632410014c401512014d1014cc018c6015120143d0143c0187601512014cd", - "0x6194061e405448050183101806448052740512806019120140604006310c6", - "0x501836018c1015120147b1e43d0d0061ec05448051ec050e4061ec0544805", - "0x505c05050062f405448051fc050e8061fc05448053047d0f4c50187d01512", - "0x112014bd014cc01882015120143d0143c018bf015120150701417018bc01512", - "0x156050100f5120f4050183d2740601912014060f4062e8822fcbc040052e805", - "0xe0f5120141d014700181d015120149d015070180644805018100190705c3d", - "0x11201406040060800555cff015120f502014720181001512014100141401902", - "0x250f512014b5014b5018b501512014b2014b2018b2015120140e0142001806", - "0x60a82c0f51201428014b50182801512014062ec06019120142501425018bb", - "0x50b00630005448050a8050a0060b405448052ec050a006019120142c01425", - "0xff0146e01806448050181001806560064483d3002d0f42a0182d015120142d", - "0xc201512014c201439018c20151201406308060c40544805018310180644805", - "0x3601512014390d03d314060d00544805018360183901512014c20c43d0d006", - "0x60f005448050500505c060e80544805040050500631405448050d8050e806", - "0x501810018cd3303c0e810014cd01512014c5014cc018cc015120143d0143c", - "0x1120f4ce05010274d2018ce01512014ce014ce018ce01512014063340601912", - "0x51140510c06114054480501841018064480501810018d310c3d564413483d", - "0x112014d51183d11806354054480512005114061200544805018d30184601512", - "0x544805138051380612405448050f4050f00615005448051040505c0613805", - "0x50500608c5013c9d4480538856124540407f018e201512014ff0143901856", - "0x52f00601912014060400639c05568e4015120f423014bd018d201512014d2", - "0x517005180063a45c0f5120145a014e80185a01512014060c40601912014e4", - "0x5448053a00538c063a00544805178051840617805448053a4053840601912", - "0xe301512014500143c01861015120144f01417018e101512014d20141401860", - "0x539c050e806019120140604006194e3184e10400519405448051800533006", - "0x112014500143c018dc015120144f014170186701512014d2014140184a01512", - "0x51b806019120140604006368693706704005368054480512805330061a405", - "0x5448051b0050e4061b00544805018650182201512014060c40601912014ff", - "0x5448051b8d80f4c5018d801512014060d8061b805448051b0220f4340186c", - "0xd401512014d301417018720151201443014140187001512014d70143a018d7", - "0x604006324d1350720400532405448051c0053300634405448050f4050f006", - "0x61d80544805018310180644805038051280601912014200145e0180644805", - "0x36018c401512014c61d83d0d0063180544805318050e406318054480501867", - "0x50500630405448051ec050e8061ec0544805310790f4c5018790151201406", - "0xc1014cc018bd015120143d0143c0187f0151201414014170187d0151201410", - "0x31018064480527405128060191201406040062f0bd1fc7d040052f00544805", - "0x822fc3d0d0062080544805208050e406208054480501865018bf0151201406", - "0x522c050e80622c05448052e8b90f4c5018b901512014060d8062e80544805", - "0x1120143d0143c01888015120150701417018b60151201417014140188501512", - "0x3d2740601912014060f4062c0b4220b6040052c0054480521405330062d005", - "0xe015120149d014200180644805018100190705c3d56c140403d4483d01406", - "0x6019120141d01425018ff0743d44805408052d4064080544805038052c806", - "0x50a00601912014b201425018b52c83d44805080052d4060800544805018bb", - "0x10014140182501512014250142c018bb01512014b5014280182501512014ff", - "0x112014060c4060191201406040060195c019120f4bb0943d0a8060400544805", - "0x5448050b0280f4340182c015120142c014390182c0151201406308060a005", - "0x3101512014c00143a018c0015120142a0b43d314060b40544805018360182a", - "0x60d005448050f4050f0060e405448050500505c0630805448050400505006", - "0x544805018cd018064480501810018360d03930810014360151201431014cc", - "0x6334cc0f55d0f03a0f5120f4c505010274d2018c501512014c5014ce018c5", - "0x1120140634c0634805448053380510c06338054480501841018064480501810", - "0x112014d301448018d301512014433483d1180610c0544805104051140610405", - "0x5448050f4050f00613c05448050f00505c060191201445014d5018461143d", - "0x3a014140184e3544827512014231404f274bf0182301512014460144e01850", - "0x501831018064480501810018490155e150054483d13805368060e80544805", - "0x5390051b80639ce40f512014e20146c018e20151201454014220185601512", - "0x1120145e3a43d3600617805448051580539c063a4054480539c050e40601912", - "0x112014e801460018603a03d44805168053a006019120145c0145e0185c1683d", - "0xe30151201461014e30186101512014e101461018e10151201460014e101806", - "0x619c0544805354050f00612805448051200505c0619405448050e80505006", - "0x112014490143a018064480501810018dc19c4a19410014dc01512014e3014cc", - "0x544805354050f00608805448051200505c0636805448050e805050061a405", - "0x5018310180644805018100186e1b022368100146e0151201469014cc0186c", - "0x112014d73603d0d00635c054480535c050e40635c054480501865018d801512", - "0x544805350050e80635005448051c0720f4c50187201512014060d8061c005", - "0xc6015120143d0143c0187601512014cd01417018c901512014cc01414018d1", - "0x52740512806019120140604006310c61d8c90400531005448053440533006", - "0x61ec05448051ec050e4061ec0544805018650187901512014060c40601912", - "0x61fc05448053047d0f4c50187d01512014060d80630405448051ec790f434", - "0x3c018bf015120150701417018bc015120141701414018bd015120147f0143a", - "0x112014060f4062e8822fcbc040052e805448052f4053300620805448050f405", - "0x9d015070180644805018100190705c3d57c140403d4483d014060f49d01806", - "0x1020147201810015120141001414019020383d44805074051c0060740544805", - "0xb2014b2018b2015120140e0142001806448050181001820015603fc054483d", - "0x112014062ec06019120142501425018bb0943d448052d4052d4062d40544805", - "0x5448052ec050a006019120142c014250182a0b03d448050a0052d4060a005", - "0x64483d3002d0f42a0182d015120142d0142c018c0015120142a014280182d", - "0x6308060c405448050183101806448053fc051b80601912014060400601961", - "0x5018360183901512014c20c43d0d0063080544805308050e4063080544805", - "0x5040050500631405448050d8050e8060d805448050e4340f4c50183401512", - "0x112014c5014cc018cc015120143d0143c0183c0151201414014170183a01512", - "0xce014ce018ce015120140633406019120140604006334cc0f03a0400533405", - "0x64480501810018d310c3d588413483d4483d338140409d348063380544805", - "0x5114061200544805018d30184601512014450144301845015120140610406", - "0x50f00615005448051040505c061380544805354460f446018d50151201448", - "0x5404082018e201512014ff0143901856015120144e0144e01849015120143d", - "0xe4015120f423014bd018d201512014d201414018231404f27512014e215849", - "0xe80185a01512014060c40601912014e4014bc018064480501810018e701563", - "0x51840617805448053a40538406019120145c01460018e91703d4480516805", - "0x4f01417018e101512014d2014140186001512014e8014e3018e8015120145e", - "0xe3184e1040051940544805180053300638c0544805140050f0061840544805", - "0x170186701512014d2014140184a01512014e70143a01806448050181001865", - "0x6704005368054480512805330061a40544805140050f006370054480513c05", - "0x650182201512014060c40601912014ff0146e018064480501810018da1a4dc", - "0x60d8061b805448051b0220f4340186c015120146c014390186c0151201406", - "0x43014140187001512014d70143a018d7015120146e3603d314063600544805", - "0x51c0053300634405448050f4050f006350054480534c0505c061c80544805", - "0x51280601912014200145e018064480501810018c9344d41c810014c901512", - "0x544805318050e4063180544805018670187601512014060c406019120140e", - "0x544805310790f4c50187901512014060d8063100544805318760f434018c6", - "0x7f0151201414014170187d015120141001414018c1015120147b0143a0187b", - "0x6040062f0bd1fc7d040052f0054480530405330062f405448050f4050f006", - "0x6208054480501865018bf01512014060c406019120149d0144a0180644805", - "0xc5018b901512014060d8062e80544805208bf0f43401882015120148201439", - "0x17018b601512014170141401885015120148b0143a0188b01512014ba2e43d", - "0xb6040052c0054480521405330062d005448050f4050f006220054480541c05", - "0x100180e41c3d590170503d4483d0f4060f49d01806448050183d018b02d088", - "0x14014140181d4083d448053fc051c0063fc05448050400541c060191201406", - "0x10201420018064480501810018b201565080054483d074051c8060500544805", - "0xbb01425018282ec3d44805094052d40609405448052d4052c8062d40544805", - "0x1120142a014250182d0a83d448050b0052d4060b00544805018bb0180644805", - "0xc001512014c00142c01831015120142d01428018c001512014280142801806", - "0x310180644805080051b80601912014060400601966019120f4313003d0a806", - "0x393083d0d0060e405448050e4050e4060e40544805018c2018c20151201406", - "0x5314050e80631405448050d0360f4c50183601512014060d8060d00544805", - "0x1120141701417018cc0151201405014dc0183c0151201414014140183a01512", - "0xd2338cd3303c0500534805448050e805330063380544805274050f00633405", - "0x14274d2018410151201441014ce01841015120140633406019120140604006", - "0x6120054480501841018064480501810018461143d59cd310c3d4483d10417", - "0x3d1180613c054480513805114061380544805018d3018d5015120144801443", - "0x5050060191201423014d50185408c3d448051400512006140054480513cd5", - "0x9d0143c018e901512014d3014170185c0151201405014dc0185a0151201443", - "0x5c168172e8061800544805080050e4063a0054480515005138061780544805", - "0x100186101568384054483d39c053680639ce4388561241444805180e8178e9", - "0x112014650146c0186501512014e101422018e301512014060c4060191201406", - "0x54480538c0539c06368054480519c050e406019120144a0146e018671283d", - "0x3d44805370053a00601912014690145e018693703d44805088da0f4d801822", - "0xd701512014d801461018d8015120146e014e101806448051b005180061b86c", - "0x6350054480515805370061c8054480512405050061c0054480535c0538c06", - "0x14014760151201470014cc018c901512014e40143c018d101512014e201417", - "0x1120144901414018c601512014610143a01806448050181001876324d135072", - "0x544805390050f0061ec05448053880505c061e40544805158053700631005", - "0x51b8060191201406040061f4c11ec79310140147d01512014c6014cc018c1", - "0x5448052f4050e4062f40544805018650187f01512014060c4060191201420", - "0x5448052f0bf0f4c5018bf01512014060d8062f005448052f47f0f434018bd", - "0x8b0151201405014dc018b9015120144501414018ba01512014820143a01882", - "0x522005448052e805330062d80544805274050f00621405448051180505c06", - "0x112015020144a01806448052c80517806019120140604006220b62148b2e414", - "0x34018b001512014b001439018b0015120140619c062d005448050183101806", - "0x3a0188e01512014ae28c3d3140628c054480501836018ae01512014b02d03d", - "0x505c0626c0544805014053700627c05448050500505006240054480523805", - "0x9b27c14015160151201490014cc01800015120149d0143c0189a0151201417", - "0x650191701512014060c40601912014100144a018064480501810019160009a", - "0x60d8064640544805461170f43401918015120151801439019180151201406", - "0x107014140191c015120151b0143a0191b01512015194683d314064680544805", - "0x5274050f00645405448050380505c06478054480501405370064740544805", - "0x601912014060f4064811f4551e4741401520015120151c014cc0191f01512", - "0x11201410015070180644805018100180e41c3d5a4170503d4483d0f4060f49d", - "0x1120f41d01472018140151201414014140181d4083d448053fc051c0063fc05", - "0x112014bb01470018bb015120150201507018064480501810018b20156a08005", - "0x52d40541c060191201406040060b0055ac28015120f42501472018252d43d", - "0x10018c20156c0c4054483d0b4051c8060b42a0f512014c001470018c001512", - "0x50d0052d4060d005448050e4052c8060e405448050a805080060191201406", - "0x3d448050e8052d4060e80544805018bb01806448050d80509406314360f512", - "0xce01512014cc01428018cd01512014c50142801806448050f005094063303c", - "0x60191201406040060196d019120f4ce3343d0a8063340544805334050b006", - "0x112014060c40601912014200146e01806448050a0051b80601912014310146e", - "0x544805104d20f434018410151201441014390184101512014063080634805", - "0x4601512014450143a01845015120144334c3d3140634c05448050183601843", - "0x6138054480505c0505c063540544805014053700612005448050500505006", - "0x6040061404f138d512014014500151201446014cc0184f015120149d0143c", - "0x3d08c170509d3480608c054480508c053380608c0544805018cd0180644805", - "0xe401443018e4015120140610406019120140604006388560f56e124540f512", - "0x5170e70f4460185c015120145a014450185a015120140634c0639c0544805", - "0x1120145401414018064480517805354063a05e0f512014e901448018e901512", - "0x544805274050f00637005448051240505c0619c0544805014053700612805", - "0x6c01512014280143901822015120142001439018da01512014e80144e01869", - "0x6138460051120146e1b02236869370671280e2e4061b805448050c4050e406", - "0x54480501831018064480501810018d70156f360054483d1940536806194e3", - "0x644805350051b806344d40f512014720146c0187201512014d80142201870", - "0xc90f512014c43183d3600631005448051c00539c063180544805344050e406", - "0x60191201479014600187b1e43d44805324053a00601912014760145e01876", - "0x140187f015120147d014e30187d01512014c101461018c1015120147b014e1", - "0x50f0062fc05448051840505c062f0054480538405370062f4054480518005", - "0x11201406040062e8822fcbc2f414014ba015120147f014cc0188201512014e3", - "0x8501512014e1014dc0188b015120146001414018b901512014d70143a01806", - "0x52d005448052e40533006220054480538c050f0062d805448051840505c06", - "0x112014280146e01806448050c4051b8060191201406040062d0882d88522c14", - "0x50e4062b8054480501865018b001512014060c40601912014200146e01806", - "0x8e0f4c50188e01512014060d80628c05448052b8b00f434018ae01512014ae", - "0x5014dc0189b0151201456014140189f01512014900143a0189001512014a3", - "0x527c05330064580544805274050f00600005448053880505c062680544805", - "0x4a0180644805308051780601912014060400645d160009a26c140151701512", - "0x544805018310180644805080051b80601912014280146e01806448050a805", - "0x11a01512015194603d0d0064640544805464050e40646405448050188b01918", - "0x64740544805470050e80647005448054691b0f4c50191b01512014060d806", - "0x3c0191f015120141701417019150151201405014dc0191e015120141401414", - "0x501810019214811f4551e0500548405448054740533006480054480527405", - "0x3101806448052d4051280601912014200146e01806448050b0051780601912", - "0x1234883d0d00648c054480548c050e40648c054480501879019220151201406", - "0x5498050e8064980544805491250f4c50192501512014060d8064900544805", - "0x1120141701417019290151201405014dc019280151201414014140192701512", - "0x12c4ad2a4a528050054b0054480549c05330064ac0544805274050f0064a805", - "0x112014060c40601912015020144a01806448052c80517806019120140604006", - "0x5448054512d0f4340191401512015140143901914015120140619c064b405", - "0x13e015120153d0143a0193d015120152e4bc3d314064bc0544805018360192e", - "0x6504054480505c0505c06500054480501405370064fc05448050500505006", - "0x60400650913505404fc1401542015120153e014cc01913015120149d0143c", - "0x65100544805018650194301512014060c40601912014100144a0180644805", - "0xc50194601512014060d8065140544805511430f43401944015120154401439", - "0xdc019490151201507014140194801512015470143a0194701512015455183d", - "0x5330065c40544805274050f0065c005448050380505c06528054480501405", - "0x1120f43d0143d2740601912014060f4065c9715c14a52414015720151201548", - "0xff01470018ff0151201410015070180644805018100180e41c3d5cc170503d", - "0x62c8055d020015120f41d01472018140151201414014140181d4083d44805", - "0x25014b50182501512014b5014b2018b5015120150201420018064480501810", - "0x1120142c014b50182c01512014062ec0601912014bb01425018282ec3d44805", - "0x5448050b4050a00630005448050a0050a006019120142a014250182d0a83d", - "0x64480501810018065d4064483d0c4c00f42a018c001512014c00142c01831", - "0x3901439018390151201406308063080544805018310180644805080051b806", - "0x340d83d314060d80544805018360183401512014393083d0d0060e40544805", - "0x505005050060f0054480501805214060e80544805314050e8063140544805", - "0x1120143a014cc018ce015120149d0143c018cd015120141701417018cc01512", - "0x5338061040544805018cd018064480501810018d2338cd3303c0500534805", - "0x1120140604006118450f57634c430f5120f44105c14274d2018410151201441", - "0x450184e015120140634c0635405448051200510c0612005448050184101806", - "0x6150230f512014500144801850015120144f3543d1180613c054480513805", - "0x521406170054480534c0505c06168054480510c05050060191201423014d5", - "0x2001439018e801512014540144e0185e015120149d0143c018e90151201406", - "0xe701488018e7390e21584905112014603a05e3a45c168172d8061800544805", - "0x5384052d00638c0544805018310180644805018100186101577384054483d", - "0x11201467014a30180644805128052b80619c4a0f51201465014b00186501512", - "0x51a405178061a4dc0f512014223683d23806088054480538c0539c0636805", - "0x5448051b80538406019120146c014600186e1b03d44805370053a00601912", - "0x7201512014e2014850187001512014d7014e3018d701512014d801461018d8", - "0x63240544805390050f00634405448051580505c0635005448051240505006", - "0x5184050e8060191201406040061d8c9344d41c814014760151201470014cc", - "0x112014560141701879015120144901414018c401512014e201485018c601512", - "0x7d3047b1e4c4050051f4054480531805330063040544805390050f0061ec05", - "0x11201406194061fc0544805018310180644805080051b806019120140604006", - "0x54480501836018bc01512014bd1fc3d0d0062f405448052f4050e4062f405", - "0x54480501805214062e80544805208050e80620805448052f0bf0f4c5018bf", - "0xb6015120149d0143c018850151201446014170188b015120144501414018b9", - "0xb20145e018064480501810018882d88522cb90500522005448052e80533006", - "0x62c0054480501867018b401512014060c40601912015020144a0180644805", - "0xc5018a301512014060d8062b805448052c0b40f434018b001512014b001439", - "0x140189f01512014060148501890015120148e0143a0188e01512014ae28c3d", - "0x5330060000544805274050f006268054480505c0505c0626c054480505005", - "0x6448050400512806019120140604006458002689b27c14015160151201490", - "0x3d0d0064600544805460050e4064600544805018650191701512014060c406", - "0x50e80646c05448054651a0f4c50191a01512014060d806464054480546117", - "0xe014170191e0151201507014140191d0151201406014850191c015120151b", - "0x1154791d050054800544805470053300647c0544805274050f0064540544805", - "0x604006039070f57805c140f5120f43d0143d2740601912014060f4064811f", - "0x50500505006075020f512014ff01470018ff0151201410015070180644805", - "0x540805080060191201406040062c8055e420015120f41d014720181401512", - "0x52ec05094060a0bb0f51201425014b50182501512014b5014b2018b501512", - "0x6448050a805094060b42a0f5120142c014b50182c01512014062ec0601912", - "0x63000544805300050b0060c405448050b4050a00630005448050a0050a006", - "0x60c40601912014200146e018064480501810018065e8064483d0c4c00f42a", - "0x50e4c20f43401839015120143901439018390151201406308063080544805", - "0x112014c50143a018c501512014340d83d314060d80544805018360183401512", - "0x54480505c0505c06330054480505005050060f0054480501805214060e805", - "0x6348ce334cc0f014014d2015120143a014cc018ce015120149d0143c018cd", - "0x170509d34806104054480510405338061040544805018cd018064480501810", - "0x4301848015120140610406019120140604006118450f57b34c430f5120f441", - "0xd50f4460184f015120144e014450184e015120140634c06354054480512005", - "0x601485018e701512014d301417018e401512014430141401850015120144f", - "0x5080050e4063a4054480514005138061700544805274050f0061680544805", - "0x3d388052f406388561245408c1444805178e91705a39ce405c900185e01512", - "0x5448050183101806448053a0052f006019120140604006180055f0e801512", - "0x6501512014e3014e10180644805184051800638c610f512014e1014e8018e1", - "0x63700544805124052140619c05448051280538c0612805448051940518406", - "0xcc0182201512014560143c018da01512014540141701869015120142301414", - "0x112014600143a0180644805018100186c088da1a4dc050051b0054480519c05", - "0x5448051500505c0635c054480508c0505006360054480512405214061b805", - "0x6350721c0d736014014d4015120146e014cc0187201512014560143c01870", - "0x54480501865018d101512014060c40601912014200146e018064480501810", - "0xc601512014060d8061d80544805324d10f434018c901512014c901439018c9", - "0x7b0151201406014850187901512014c40143a018c401512014763183d31406", - "0x61fc0544805274050f0061f405448051180505c0630405448051140505006", - "0x52c805178060191201406040062f47f1f4c11ec14014bd0151201479014cc", - "0x39018bf015120140619c062f00544805018310180644805408051280601912", - "0x3d314062e80544805018360188201512014bf2f03d0d0062fc05448052fc05", - "0x5050062140544805018052140622c05448052e4050e8062e40544805208ba", - "0x8b014cc018b4015120149d0143c01888015120141701417018b60151201414", - "0x601912014100144a018064480501810018b02d0882d885050052c00544805", - "0xae0f434018a301512014a301439018a30151201406194062b8054480501831", - "0x9f0143a0189f015120148e2403d314062400544805018360188e01512014a3", - "0x50380505c06000054480541c05050062680544805018052140626c0544805", - "0x117458002681401518015120149b014cc01917015120149d0143c0191601512", - "0x17d050100f5120f49d0149b0189d015120143d0142001806448050189f01918", - "0x60380544805040050000641c0544805050052680601912014060400605c05", - "0x54480501918018064480501810018065f8050191701902015120150701516", - "0x10201512014ff015160180e015120141701400018ff015120141d015190181d", - "0x17f2c8054483d408054680608005448050800541c0608005448050380538406", - "0x11d018bb01512014064700609405448052c80546c060191201406040062d405", - "0x541c060c405448050140505c06300054480501805050060a0054480509405", - "0xc00511e018340151201428014390183901512014bb0144f018c20151201420", - "0x501810018c5015800d8054483d0b405408060b42a0b09d448050d03930831", - "0x53300547c0633005448050f03a0f5150183c0e83d448050d8050740601912", - "0x112014cd01520018d2015120142a01417018ce015120142c01414018cd01512", - "0x2c014140184301512014c50152101806448050181001841348ce2740510405", - "0x46114d327405118054480510c054800611405448050a80505c0634c0544805", - "0x5120054880612005448050191801806448052d40517806019120140604006", - "0x5018050500613c05448051380547c061380544805354200f515018d501512", - "0x6150231409d01454015120144f01520018230151201405014170185001512", - "0x6014140181401512014170152301817015120149d0144e01806448050189f", - "0x505005490062c805448050f4050f00608005448050140505c063fc0544805", - "0x1020390704112014252d4b2080ff051250182501512014100144f018b501512", - "0x5448052ec05124060191201406040060a005604bb015120f41d014540181d", - "0xc00151201507014140182d015120142a015270182a015120142c015260182c", - "0x50e405448050b4054a0063080544805408050f0060c405448050380505c06", - "0x112015070141401834015120142801529018064480501810018393083130010", - "0x5448050d0054a0060e80544805408050f00631405448050380505c060d805", - "0x54ac060503d0f5120143d0152a01806448050189f0183c0e8c50d8100143c", - "0x10701428018064480505c050940641c170f51201410014b5018100151201414", - "0x1022743d0d0064080544805408050e4064080544805038054b0060380544805", - "0x50140505c06094054480501805050063fc05448050f4054b4060740544805", - "0x282ec250412e0182c015120141d014e70182801512014ff01514018bb01512", - "0x60191201406040060b4056082a015120f4b50145c018b52c820275120142c", - "0x3d4bc0630805448050191801806448050c405178060c4c00f5120142a014e9", - "0x505c060d8054480508005050060d005448050e4054f4060e40544805308c0", - "0x60191201406040060e8c50d89d0143a01512014340153e018c501512014b2", - "0x13e018cd01512014b201417018cc0151201420014140183c015120142d0153f", - "0x54480504005138060191201414014c0018ce334cc2740533805448050f005", - "0xb50151201405014dc018b20151201406014140181701512015070152301907", - "0x60a0054480505c05490062ec0544805274050f00609405448050f40505c06", - "0x560c2c015120f420014da018203fc1d4080e05112014282ec252d4b205140", - "0x113018c0015120142d015410182d015120142c014220180644805018100182a", - "0x505c060e405448054080537006308054480503805050060c4054480530005", - "0x3930814014c50151201431015420183601512014ff0143c01834015120141d", - "0x3c015120140e014140183a015120142a01543018064480501810018c50d834", - "0x633805448053fc050f00633405448050740505c0633005448054080537006", - "0x3d0d0060f405448050180547406348ce334cc0f014014d2015120143a01542", - "0x100154401814015120149d014e70181001512014064600627405448050f405", - "0x9d0f43d4483d0140526c060140544805018050800605c140f40505c0544805", - "0x17015120143d0140001814015120149d0149a0180644805018100181001584", - "0x1120140646006019120140604006019850140645c0641c05448050500545806", - "0x544805408054580605c054480504005000064080544805038054640603805", - "0xff015120f5070151a0181d015120141d015070181d0151201417014e101907", - "0xb501512014b20151d018b201512014ff0151b0180644805018100182001586", - "0x50a0054480509405518062ec05448050740541c0609405448052d40551406", - "0x1470182c01512014064600601912014200145e018064480501810018282ec3d", - "0x2d0f40530005448050a805518060b405448050740541c060a805448050b005", - "0x187050100f5120f49d0149b0189d015120143d0142001806448050189f018c0", - "0x60380544805040050000641c0544805050052680601912014060400605c05", - "0x5448050191801806448050181001806620050191701902015120150701516", - "0x10201512014ff015160180e015120141701400018ff015120141d015190181d", - "0x1892c8054483d408054680608005448050800541c0608005448050380538406", - "0x11d018bb01512014060c40609405448052c80546c060191201406040062d405", - "0x541c060c405448050140505c06300054480501805050060a0054480509405", - "0xc005148018340151201428014390183901512014bb014e7018c20151201420", - "0x501810018c50158a0d8054483d0b405324060b42a0b09d448050d03930831", - "0x5330055280633005448050f03a0f5490183c0e83d448050d8051d80601912", - "0x112014cd01570018d2015120142a01417018ce015120142c01414018cd01512", - "0x2c014140184301512014c50157101806448050181001841348ce2740510405", - "0x46114d327405118054480510c055c00611405448050a80505c0634c0544805", - "0x5120055c80612005448050191801806448052d40517806019120140604006", - "0x5018050500613c054480513805528061380544805354200f549018d501512", - "0x6150231409d01454015120144f01570018230151201405014170185001512", - "0xdc018b501512014060141401907015120140e015230180e01512014100144e", - "0x5490060a00544805274050f0062ec05448050f40505c06094054480501405", - "0xb541d8b0182d0151201417014e70182a0151201414014390182c0151201507", - "0x310158c300054483d2c805368062c8203fc1d40814448050b42a0b0282ec25", - "0x544c060e40544805308055040630805448053000508806019120140604006", - "0xff01417018c5015120141d014dc01836015120150201414018340151201439", - "0x3a314360500533005448050d005508060f00544805080050f0060e80544805", - "0x63380544805408050500633405448050c40550c060191201406040063303c", - "0x1420184301512014200143c0184101512014ff01417018d2015120141d014dc", - "0xe015230180e01512014100144e018d310c41348ce0500534c054480533405", - "0x50f40505c06094054480501405370062d40544805018050500641c0544805", - "0x11201414014390182c01512015070152401828015120149d0143c018bb01512", - "0x1d40814448050b42a0b0282ec252d50762c060b4054480505c0539c060a805", - "0x530005088060191201406040060c405634c0015120f4b2014da018b2080ff", - "0x1120150201414018340151201439015130183901512014c201541018c201512", - "0x544805080050f0060e805448053fc0505c06314054480507405370060d805", - "0x550c060191201406040063303c0e8c50d814014cc0151201434015420183c", - "0xff01417018d2015120141d014dc018ce015120150201414018cd0151201431", - "0x41348ce0500534c0544805334055080610c0544805080050f0061040544805", - "0x5448050180505c0627405448050400548c0604005448050f4051380634c43", - "0x1120141d4080e2758e0181d015120149d015240190201512014050143c0180e", - "0xff01422018064480501810018200158f3fc054483d41c053680641c170509d", - "0x50500505c0609405448052d40544c062d405448052c805504062c80544805", - "0x60b0282ec9d0142c0151201425015420182801512014170143c018bb01512", - "0x170143c0182d0151201414014170182a015120142001543018064480501810", - "0x6040054480501841018313002d274050c405448050a805508063000544805", - "0x1240181d01512014050143c0190201512014060141701814015120141001443", - "0x1727512014203fc1d40810640060800544805274050e4063fc054480505005", - "0x112014b201593018064480501810018b5015922c8054483d038056440603907", - "0x11201428015960182801512014bb0f43d65406019120142501594018bb0943d", - "0x5448050b00565c060b4054480541c050f0060a8054480505c0505c060b005", - "0x112014b50159801806448050f405354060191201406040063002d0a89d014c0", - "0x5448050c40565c060e4054480541c050f006308054480505c0505c060c405", - "0x505c0627405448050400548c0604005448050f405138060d0393089d01434", - "0xe275990181d015120149d015240190201512014050143c0180e0151201406", - "0x64480501810018200159a3fc054483d41c053680641c170509d4480507502", - "0x609405448052d40544c062d405448052c805504062c805448053fc0508806", - "0x9d0142c0151201425015420182801512014170143c018bb015120141401417", - "0x2d0151201414014170182a0151201420015430180644805018100182c0a0bb", - "0x501841018313002d274050c405448050a80550806300054480505c050f006", - "0x112014050143c01902015120140601417018140151201410014430181001512", - "0x203fc1d4081066c060800544805274050e4063fc0544805050054900607405", - "0x193018064480501810018b50159c2c8054483d03805644060390705c9d44805", - "0x1960182801512014bb0f43d65406019120142501594018bb0943d448052c805", - "0x565c060b4054480541c050f0060a8054480505c0505c060b005448050a005", - "0x19801806448050f405354060191201406040063002d0a89d014c0015120142c", - "0x565c060e4054480541c050f006308054480505c0505c060c405448052d405", - "0x10701512014100144e0180644805050051b8060d0393089d014340151201431", - "0x62d4054480501405370062c80544805018050500605c054480541c0548c06", - "0x14001828015120141701524018bb015120149d0143c01825015120143d01417", - "0x2a0159d0b0054483d0800536806080ff0750203814448050a0bb094b52c814", - "0x544c0630005448050b405504060b405448050b00508806019120140604006", - "0x1d01417018390151201502014dc018c2015120140e014140183101512014c0", - "0x340e4c20500531405448050c405508060d805448053fc050f0060d00544805", - "0x60f0054480503805050060e805448050a80550c0601912014060400631436", - "0x142018ce01512014ff0143c018cd015120141d01417018cc0151201502014dc", - "0x505c051b80601912014140146e018d2338cd3303c0500534805448050e805", - "0xe0151201502015230190201512014100144e018064480541c051b80601912", - "0x60a005448050f40505c062ec0544805014053700609405448050180505006", - "0x1120142a0b0282ec25051400182a015120140e015240182c015120149d0143c", - "0x22018064480501810018c00159e0b4054483d2d405368062d4b2080ff07414", - "0x5050060e405448053080544c0630805448050c405504060c405448050b405", - "0xb20143c018c50151201420014170183601512014ff014dc01834015120141d", - "0x644805018100183c0e8c50d834050050f005448050e405508060e80544805", - "0x633805448053fc05370063340544805074050500633005448053000550c06", - "0x140144301512014cc015420184101512014b20143c018d2015120142001417", - "0x6014140181701512015070159f0190701512014100144e01843104d2338cd", - "0x5274050f00609405448050f405214062d405448050140505c062c80544805", - "0x252d4b205da10182c015120141401439018280151201417015a0018bb01512", - "0x6040060b4056882a015120f42001488018203fc1d4080e051120142c0a0bb", - "0x11201431015a40183101512014c0015a3018c0015120142a014b40180644805", - "0x54480507405214060d005448054080505c060e40544805038050500630805", - "0x60e8c50d8340e4140143a01512014c2015a5018c501512014ff0143c01836", - "0x10201417018cc015120140e014140183c015120142d015a6018064480501810", - "0x50f0056940634805448053fc050f006338054480507405214063340544805", - "0x54483d0f4056a0060f405448050180569c06104d2338cd330140144101512", - "0x60500544805019aa01806448052740517806019120140604006040056a49d", - "0x112014100145e018064480501810018066ac050191701817015120141401439", - "0x1020383d4480505c051b00605c054480541c050e40641c0544805019ac01806", - "0xd8018b20151201405014e70182001512015020151d0180644805038051b806", - "0x539c062d405448050191801806448053fc05178063fc1d0f512014b20803d", - "0x170f51201410015ad018bb0943d014bb01512014b50154401825015120141d", - "0x25015120143d01485018b5015120140501417018b201512014060141401907", - "0x60b00544805050050e4060a0054480505c05490062ec0544805274050f006", - "0x1af0a8054483d0800564406080ff0750203814448050b0282ec252d4b205dae", - "0x601912014310145e018313003d448050a80564c060191201406040060b405", - "0x60d00544805308390f5950183901512015073003d11806308054480501918", - "0x850183a015120150201417018c5015120140e0141401836015120143401596", - "0xc50500533405448050d80565c0633005448053fc050f0060f0054480507405", - "0xce015120142d01598018064480541c056c006019120140604006334cc0f03a", - "0x610c0544805074052140610405448054080505c0634805448050380505006", - "0x627c06114d310c41348140144501512014ce01597018d301512014ff0143c", - "0x3d050050189d34806050054480505005338060500544805018cd0180644805", - "0x140181d0403d44805040056c8060191201406040064080e0f5b141c170f512", - "0x51b8060191201406040063fc056d0064483d074056cc0605c054480505c05", - "0xb20151f018b201512014200f43d454060800544805274056d4060191201410", - "0x52d405480062ec054480541c0505c06094054480505c05050062d40544805", - "0x170141401806448053fc056d8060191201406040060a0bb0949d0142801512", - "0x313009d6dc0630805448050f40541c060c4054480541c0505c063000544805", - "0x60191201406040060d0056e439015120f42d015b80182d0a82c27512014c2", - "0x644805018100183c015bc0e8054483d314056ec06314360f51201439015ba", - "0xce01512014cd0403d6f8063340544805019ac018cc015120143a2743d6f406", - "0x611805448050d80541c0611405448050a80505c0634c05448050b00505006", - "0x112014d512046114d30511e018d501512014ce014390184801512014cc0144f", - "0x4e0141d0180644805018100184f015bf138054483d10c054080610c413489d", - "0x50500612405448051500547c06150054480508c500f515018231403d44805", - "0xe21589d014e4015120144901520018e20151201441014170185601512014d2", - "0x170185a01512014d201414018e7015120144f01521018064480501810018e4", - "0x64480501810018e91705a274053a4054480539c0548006170054480510405", - "0x3d4540617805448050f00548806019120149d014c00180644805040051b806", - "0x505c0638405448050b0050500618005448053a00547c063a0054480517836", - "0x601912014060400638c613849d014e301512014600152001861015120142a", - "0x2c01414018650151201434015210180644805274053000601912014100146e", - "0xdc19c4a274053700544805194054800619c05448050a80505c061280544805", - "0x50f40512806019120149d014c00180644805040051b806019120140604006", - "0x63680544805368050e4063680544805018650186901512014060c40601912", - "0x61b805448050886c0f4c50186c01512014060d8060880544805368690f434", - "0x12001870015120150201417018d7015120140e01414018d8015120146e01521", - "0x50f4056c0060f4050f51201406015ad018721c0d7274051c8054480536005", - "0x1120149d0159401806448050189f0189d014052740544805014054900601912", - "0x9d448054080e0f5c001902015120143d0143c0180e01512014050141701806", - "0x50740570c060191201406040063fc057081d015120f507015c10190705c14", - "0x52d4051b806094b50f512014b20146c018b20151201420015c40182001512", - "0x6448050a0051b8060b0280f512014bb0146c018bb01512014066a80601912", - "0xc0015120142d0a83d6f8060b405448050b005474060a805448050940547406", - "0x60191201406040060c405714064483d300056cc063000544805300050e406", - "0x393089d44805314360f533018c501512014170143c01836015120141401417", - "0x5448050e805720060191201406040060f00571c3a015120f434015c601834", - "0x1cb01846114d310c41348ce41d12014cd015ca018cd01512014cc015c9018cc", - "0x112014d30146e018064480510c05128060191201441015cc018064480534805", - "0x6354480f512014ce0146c0180644805118051b80601912014450146e01806", - "0x547406019120144f0146e0185013c3d44805138051b0061380544805019ac", - "0x500151d0180644805150051b806124540f512014230146c0182301512014d5", - "0x5124054740601912014e20146e018e43883d44805158051b0061580544805", - "0x5168e70f5be018e701512014e7014390185a01512014e40151d018e701512", - "0x480151201448014390185c015120145c014390180644805019cd0185c01512", - "0x1170180644805120051b8060191201406040063a405738064483d170056cc06", - "0x5e0f512014480146c01806448053a4056d806019120140604006019cf01406", - "0x6184e10f512014600146c01860015120140674006019120145e0146e018e8", - "0x3d6f8061940544805184054740638c05448053a0054740601912014e10146e", - "0x619c05744064483d128056cc061280544805128050e4061280544805194e3", - "0x112014c2014170186c01512014060141401806448050189f018064480501810", - "0xd73606e1b0107480635c05448050400513c0636005448050e4050f0061b805", - "0x60191201406040061c80574c70015120f4220145401822368693701044805", - "0x14018c901512014d101527018d101512014d401526018d4015120147001449", - "0x54a0063100544805368050f00631805448051a40505c061d8054480537005", - "0x7b01512014720152901806448050181001879310c61d8100147901512014c9", - "0x61fc0544805368050f0061f405448051a40505c0630405448053700505006", - "0x6448050189f018064480501810018bd1fc7d30410014bd015120147b01528", - "0x5019d4018bc01512014060c4060191201410014c0018064480519c056d806", - "0x112014060d80620805448052fcbc0f434018bf01512014bf01439018bf01512", - "0x11201406014140188b01512014b901529018b901512014822e83d314062e805", - "0x54480522c054a00622005448050e4050f0062d805448053080505c0621405", - "0x50f0054a4060191201410014c0018064480501810018b4220b621410014b4", - "0x112014390143c018a301512014c201417018ae015120140601414018b001512", - "0x56d8060191201406040062408e28cae0400524005448052c0054a00623805", - "0x9b01512014067540627c054480501831018064480504005300060191201431", - "0x60000544805018360189a015120149b27c3d0d00626c054480526c050e406", - "0x64600544805018050500645c0544805458054a4064580544805268000f4c5", - "0x100151b0151201517015280191a01512014170143c01919015120141401417", - "0x11c01512014ff015290180644805040053000601912014060400646d1a46518", - "0x6454054480505c050f00647805448050500505c0647405448050180505006", - "0x11201406014060500544805019d60191f4551e474100151f015120151c01528", - "0x9d3480605c054480505c053380605c0544805018cd01806448050189f01806", - "0x5448050f40576006019120140604006075020f5d7039070f5120f41701406", - "0x1da2c8200f5120f4ff015d9019070151201507014140180644805019cd018ff", - "0x60400544805080053900609405448052c80576c060191201406040062d405", - "0x54480501918018064480501810018067740501917018bb0151201425015dc", - "0xbb015120142c015dc0181001512014b5014e40182c0151201428015de01828", - "0x11201406040060b4057842a015120f4bb015e00181001512014100503d77c06", - "0x1701834015120150701414018c0015120142a015e201806448050189f01806", - "0x1078c060e805448052740539c0631405448053000541c060d8054480503805", - "0x501810018cc015e40f0054483d0e405170060e4c20c49d448050e8c50d834", - "0x112014d20145e018d23383d448050f0053a4063340544805040054b40601912", - "0x4801512014cd015140184601512014c2014170184501512014310141401806", - "0xd30145c018d310c4127512014d512046114104b80635405448053380539c06", - "0x51780608c500f5120144e014e90180644805018100184f015e5138054483d", - "0x51400539c06124054480510c0505c06150054480510405050060191201423", - "0x14018e2015120144f0153f0180644805018100180679805019170185601512", - "0xe4274051680544805388054f80639c054480510c0505c06390054480510405", - "0x140185c01512014cc0153f01806448050400579c06019120140604006168e7", - "0xe9274053a00544805170054f80617805448053080505c063a405448050c405", - "0x10015e701806448050b40517806019120140627c060191201406040063a05e", - "0x1120149d014e701849015120140e01417018540151201507014140180644805", - "0x544805384054f4063840544805180560f52f0186001512014064600615805", - "0x4a01512014610153e01865015120144901417018e301512014540141401861", - "0x64480527405180060191201414015e80180644805018100184a194e327405", - "0xdc01439018dc01512014061940619c05448050183101806448050f4057a406", - "0x693683d314063680544805018360186901512014dc19c3d0d0063700544805", - "0x50740505c061b8054480540805050061b00544805088054fc060880544805", - "0x603805448050f40505c0635cd81b89d014d7015120146c0153e018d801512", - "0x54483d41c057180641c170509d448054080e0f53301902015120149d0143c", - "0x5448050800572406080054480507405720060191201406040063fc057a81d", - "0x572c0601912014b50146e0182d0a82c0a0bb094b541d12014b2015ca018b2", - "0x6448050b4051b806019120142a0146e01806448052ec05730060191201425", - "0x60e805448050500505c06314054480501405370060d805448050180505006", - "0x107018cd015120142c01439018cc0151201410015240183c01512014170143c", - "0x60d039308313001444805338cd3303c0e8c50d9077ac0633805448050a005", - "0x610c0544805348052d006019120140604006104057b0d2015120f43401488", - "0x31018064480534c0517806019120140604006114057b4d3015120f443015a8", - "0x481183d0d0061200544805120050e4061200544805019ee018460151201406", - "0x513c0550c0613c05448053544e0f4c50184e01512014060d8063540544805", - "0x112014c201417018540151201431014dc0182301512014c0014140185001512", - "0xe21584915023050053880544805140055080615805448050e4050f00612405", - "0x539005504063900544805019ef01806448051140517806019120140604006", - "0x11201431014dc0185c01512014c0014140185a01512014e701513018e701512", - "0x54480516805508063a005448050e4050f00617805448053080505c063a405", - "0x50500638405448051040550c06019120140604006180e8178e91701401460", - "0x390143c0186501512014c201417018e30151201431014dc0186101512014c0", - "0x64480501810018671286538c610500519c054480538405508061280544805", - "0xdc01869015120140601414018dc01512014ff0154301806448050400565006", - "0x5508061b0054480505c050f00608805448050500505c06368054480501405", - "0x14015120140633406019120140627c061b86c088da1a4140146e01512014dc", - "0x10019020383d7c10705c3d4483d050050189d3480605005448050500533806", - "0x1d015b3018170151201417014140181d0403d44805040056c8060191201406", - "0x1120149d015f20180644805040051b8060191201406040063fc057c4064483d", - "0x1120141701414018b501512014b20154a018b201512014200f43d5240608005", - "0x10018282ec25274050a005448052d4055c0062ec054480541c0505c0609405", - "0x1120142d014700182d015120143d0150701806448053fc056d8060191201406", - "0xc02743d0d0060191201406040060c4057ccc0015120f42a014720182a0b03d", - "0x505c05050060d005448050e4100f5be0183901512014066b0063080544805", - "0x112014c2014e7018cd015120142c01507018cc0151201507014170183c01512", - "0x60e8c50d89d44805348ce334cc0f0145200634805448050d0050e40633805", - "0x4534c3d44805104051d80601912014060400610c057d041015120f43a014c9", - "0xd50151201436014140184801512014460154a01846015120144534c3d52406", - "0x5018100184f138d52740513c0544805120055c00613805448053140505c06", - "0x5448053140505c0608c05448050d80505006140054480510c055c40601912", - "0x5040051b8060191201406040061245408c9d0144901512014500157001854", - "0x5448051582c0f549018560151201431015720180644805274051800601912", - "0x5a015120150701417018e7015120141701414018e401512014e20154a018e2", - "0x112014100146e0180644805018100185c168e7274051700544805390055c006", - "0x6194063a405448050183101806448050f40512806019120149d0146001806", - "0x501836018e8015120145e3a43d0d0061780544805178050e4061780544805", - "0x503805050061840544805384055c40638405448053a0600f4c50186001512", - "0x61286538c9d0144a01512014610157001865015120150201417018e301512", - "0x1401902015120140e014e1018064480541c0518006039070f51201417014e8", - "0x50f0060a005448050f40505c062ec05448050140537006094054480501805", - "0x102015070182d0151201414014390182a0151201410015240182c015120149d", - "0x5220062d4b2080ff07414448053002d0a82c0a0bb095077ac063000544805", - "0x56a0060e405448050c4052d006019120140604006308057d431015120f4b5", - "0x5019aa01806448050d005178060191201406040060d8057d834015120f439", - "0x5e018064480501810018067dc05019170183a01512014c501439018c501512", - "0x50e805504060e805448050f0050e4060f00544805019ef01806448050d805", - "0x112014ff014dc018ce015120141d01414018cd01512014cc01513018cc01512", - "0x544805334055080610c05448052c8050f00610405448050800505c0634805", - "0x50500611405448053080550c0601912014060400634c43104d233814014d3", - "0xb20143c018d50151201420014170184801512014ff014dc01846015120141d", - "0x1120143d015f80184f138d5120460500513c054480511405508061380544805", - "0x544805274057e4060380544805014050f00641c05448050180505c0627405", - "0x63fc057ec1d015120f417014da0181705010275120150203907275fa01902", - "0xb201513018b201512014200154101820015120141d01422018064480501810", - "0x52d405508062ec0544805050050f00609405448050400505c062d40544805", - "0x505c060b005448053fc0550c060191201406040060a0bb0949d0142801512", - "0x2d0a89d014c0015120142c015420182d01512014140143c0182a0151201410", - "0x544805014050f00640805448050180505c06050100f5120143d015fc018c0", - "0xe015fe0180e41c1727512014ff07502275fd018ff0151201414015240181d", - "0x5040057e006019120142001600018064480501810018b2015ff080054483d", - "0x541c050f0060b4054480505c0505c062ec250f512014b501601018b501512", - "0xda0182a0b02827512014313002d275fa0183101512014bb015f9018c001512", - "0x2030183401512014c2014220180644805018100183901602308054483d0a805", - "0x50f00633405448050a00505c0631405448050940510c060d805448050d005", - "0xcd0420501841015120143601604018d201512014c501524018ce015120142c", - "0x112014060400634c0581843015120f4cc01591018cc0f03a2751201441348ce", - "0x4f015120143a0141701806448051180517806118450f512014430159301806", - "0x61500544805274050e40608c0544805114054900614005448050f0050f006", - "0x100185601607124054483d1380564406138d51209d44805150231404f04135", - "0x112014064600601912014e40145e018e43883d448051240564c060191201406", - "0x11201448014170185c015120145a016090185a01512014e73883d8200639c05", - "0x10018e8178e9274053a0054480517005828061780544805354050f0063a405", - "0x5354050f00638405448051200505c0618005448051580582c060191201406", - "0x51b80601912014060400638c613849d014e301512014600160a0186101512", - "0x50f0050f00612805448050e80505c06194054480534c0582c06019120149d", - "0x51b806019120140604006370671289d014dc01512014650160a0186701512", - "0x11201428014170186901512014390160b01806448050940583006019120149d", - "0x100186c088da274051b005448051a4058280608805448050b0050f00636805", - "0x5448052c80582c060191201410015940180644805274051b8060191201406", - "0x70015120146e0160a018d701512015070143c018d80151201417014170186e", - "0x50143c019070151201406014170189d015120143d015f80187035cd827405", - "0x605c140409d448054080e41c9d7e8064080544805274057e4060380544805", - "0x6080054480507405088060191201406040063fc058341d015120f417014da", - "0x3c01825015120141001417018b501512014b201513018b2015120142001541", - "0x64480501810018282ec25274050a005448052d405508062ec054480505005", - "0x60b40544805050050f0060a805448050400505c060b005448053fc0550c06", - "0x5014050f00641c05448050180505c063002d0a89d014c0015120142c01542", - "0x10203907041900181d015120149d0143901902015120143d015240180e01512", - "0x601912014060400608005838ff015120f417015910181705010275120141d", - "0x3d8200609405448050191801806448052d405178062d4b20f512014ff01593", - "0x50f0060b005448050400505c060a005448052ec05824062ec0544805094b2", - "0x60191201406040060b42a0b09d0142d01512014280160a0182a0151201414", - "0x20a018c201512014140143c01831015120141001417018c001512014200160b", - "0x501405650060f4050f51201406015ad0183930831274050e4054480530005", - "0x5050056c80605c054480501a0f0189d0140527405448050f4056800601912", - "0x107015b3019070151201507014390190701512014170383d6f806038140f512", - "0x11201410015b00180644805050051b80601912014060400640805840064483d", - "0x608005448053fc0568c063fc0544805074058440607405448050191801806", - "0x8501825015120140501417018b5015120140601414018b20151201420015a4", - "0xb5050050b005448052c805694060a00544805274050f0062ec05448050f405", - "0x2a0151201410015340180644805408056d8060191201406040060b0282ec25", - "0x631405448050f405214060d805448050140505c060d005448050180505006", - "0x213018cc0151201414014390183c015120142a016120183a015120149d0143c", - "0x5850cd015120f4390148801839308313002d05112014cc0f03a314360d017", - "0x1a40184101512014d2015a3018d201512014cd014b4018064480501810018ce", - "0x52140611405448053000505c0634c05448050b4050500610c054480510405", - "0x4534c14014d50151201443015a50184801512014c20143c018460151201431", - "0x4f015120142d014140184e01512014ce015a6018064480501810018d512046", - "0x61500544805308050f00608c05448050c4052140614005448053000505c06", - "0x170144501817015120140634c061245408c5013c1401449015120144e015a5", - "0x1120140501417018b50151201406014140180e01512014068540641c0544805", - "0x54480541c05680060a00544805274050f0062ec05448050f4052140609405", - "0x203fc1d40814448050a82c0a0bb094b505e160182a015120140e014390182c", - "0x6448050b40586406019120140604006300058602d015120f4b201617018b2", - "0x6314054480504005490060d80544805080050f0060d005448050740505c06", - "0x3d0e405644060e4c20c49d448050e8c50d834041350183a015120141401439", - "0xce0145e018ce3343d448050f00564c06019120140604006330058683c01512", - "0x11201441016090184101512014d23343d820063480544805019180180644805", - "0x5448053fc052140611405448050c40505c0634c0544805408050500610c05", - "0x6354481184534c14014d501512014430160a0184801512014c20143c01846", - "0x31014170184f0151201502014140184e01512014cc0160b018064480501810", - "0x513805828061500544805308050f00608c05448053fc05214061400544805", - "0x1940180644805050051b8060191201406040061245408c5013c140144901512", - "0x1d01417018e20151201502014140185601512014c00160b018064480504005", - "0x515805828061680544805080050f00639c05448053fc05214063900544805", - "0x605c054480501a1b01810015120140635c061705a39ce4388140145c01512", - "0x1120143d015070181d01512014060141401806448050189f018064480501805", - "0x60800587814015120f5020161d019020390727512014ff0743d870063fc05", - "0x3d87c062d4b20f512014250147001825015120140e01507018064480501810", - "0x14018064480501810018bb01620274054483d2d4051c806050054480505017", - "0x3d350060c405448052c80541c0630005448050140505c060b4054480541c05", - "0x54483d0a805324060a82c0a09d448050c4c00b49d34406274054480527410", - "0x1120f436014c6018360d03d44805308051d8060191201406040060e405884c2", - "0x3c016240183c01512014c527414276230180644805018100183a0162231405", - "0x2801414018ce01512014cd01626018cd01512014cc0d03d894063300544805", - "0x43104d22740510c0544805338054c80610405448050b00505c063480544805", - "0x50e80589c06019120149d0146e01806448050500572c06019120140604006", - "0x50a0050500611805448051140589806114054480534c340f625018d301512", - "0x6138d51209d0144e015120144601532018d5015120142c014170184801512", - "0x112014390162801806448050500572c06019120149d0146e018064480501810", - "0x54480513c054c80608c05448050b00505c0614005448050a0050500613c05", - "0x112014100147b01806448050500572c06019120140604006150231409d01454", - "0x54480515805898061580544805124b20f6250184901512014bb0162701806", - "0x5a01512014e201532018e7015120140501417018e4015120150701414018e2", - "0x64480505c058a40601912014100147b0180644805018100185a39ce427405", - "0x5e01512014e901626018e9015120145c0383d8940617005448050800589c06", - "0x53840544805178054c80618005448050140505c063a0054480541c0505006", - "0x170503d8a80605c0544805014050f00605005448050180505c06384603a09d", - "0x22d0180644805018100180e0162c41c054483d040058ac060409d0f49d44805", - "0xb52c8203fc1444805074058bc060740544805408058b806408054480541c05", - "0x51b80601912014b5015cb0180644805080058c40601912014ff0163001825", - "0x50f40505c060a005448052ec058cc062ec05448052c8058c8060191201425", - "0x60b42a0b09d0142d0151201428016340182a015120149d0143c0182c01512", - "0x9d0143c01831015120143d01417018c0015120140e01635018064480501810", - "0x140151201406014170183930831274050e40544805300058d0063080544805", - "0x1120f4100162b018102743d27512014170503d8a80605c0544805014050f006", - "0x112015020162e0190201512015070162d0180644805018100180e0163641c05", - "0xb2015cb01806448053fc058c006094b52c8203fc1444805074058bc0607405", - "0xbb0151201420016370180644805094051b80601912014b5015cb0180644805", - "0x60a80544805274050f0060b005448050f40505c060a005448052ec054c406", - "0x544805038058e4060191201406040060b42a0b09d0142d015120142801638", - "0x3901512014c001638018c2015120149d0143c01831015120143d01417018c0", - "0x5448050180505006040054480501a3a01806448050189f018393083127405", - "0x20015120149d0144f018ff015120143d0143c0181d01512014050141701902", - "0x23d0180e41c1705010448052c8203fc1d408148f0062c80544805040058ec06", - "0x2c0a0bb27512014b50163f018064480501810018250163e2d4054483d03805", - "0x549c060a805448050a00549806019120142c0145e01806448052ec0530006", - "0x1070143c01831015120141701417018c00151201414014140182d015120142a", - "0x60191201406040060e4c20c4c0040050e405448050b4054a0063080544805", - "0x3c018c50151201417014170183601512014140141401834015120142501529", - "0x1120140627c060f03a31436040050f005448050d0054a0060e8054480541c05", - "0x5448050500508006050054480504005900060403d0f5120143d0153001806", - "0x64480503805094064080e0f51201507014b5019070151201417014b201817", - "0x63fc05448053fc050e4063fc0544805074054b0060740544805408050a006", - "0x60a0054480501805050062c805448050f4059000608005448053fc9d0f434", - "0x2410182d0151201420014e70182a01512014b2015070182c015120140501417", - "0x6040060c405908c0015120f4bb0145c018bb094b5275120142d0a82c0a010", - "0x340153d0183401512014393083d4bc060e4c20f512014c0014e90180644805", - "0x50d8054f8060e805448050940505c0631405448052d405050060d80544805", - "0x50500633005448050c4054fc060191201406040060f03a3149d0143c01512", - "0xce3349d014d201512014cc0153e018ce015120142501417018cd01512014b5", - "0x544805038052c806038054480541c050800641c170f5120141701530018d2", - "0x6080054480501a43018064480507405094063fc1d0f51201502014b501902", - "0x280182501512014ff0142801806448052c805094062d4b20f51201420014b5", - "0x601a44019120f4bb0943d0a8060940544805094050b0062ec05448052d405", - "0x11201410015940180644805050051b80601912014170144a018064480501810", - "0x60a8054480501805050060b005448050a005914060a005448050191801806", - "0xa301831015120149d0143c018c0015120143d014170182d0151201405014dc", - "0x544805040057e00601912014060400601a460140645c0630805448050b005", - "0xcc0151201439015f90183c015120149d0143c0183a015120143d0141701839", - "0x10018ce01647334054483d3140536806314360d09d448053303c0e89d7e806", - "0x51040508006104170f5120141701530018d201512014062ec060191201406", - "0x112014d20142c01848015120144301400018460151201406014140184301512", - "0x613c059284e015120f445016490184534c3d44805354481189d9200635405", - "0x501a4c0182301512014500151b01850015120144e0164b018064480501810", - "0x1120144901400018e401512014d301414018490151201417014200185401512", - "0x2301439018e21583d44805168e73909d920061680544805150050b00639c05", - "0x5c0164b018064480501810018e90164d170054483d388059240608c0544805", - "0x508c0547406180054480533405088063a005448051780546c061780544805", - "0x11201405014dc018670151201456014140186101512014e80151d018e101512", - "0x544805384050e4063680544805180050e4061a40544805050050e40637005", - "0x61286538c9d448051b022368693706705e4e0186c01512014610143901822", - "0x3c018c00151201434014170182d0151201465014dc0182a01512014e301414", - "0x5690061b805448053080568c0630805448051280528c060c405448050d805", - "0xc00141701870015120142d014dc018d7015120142a01414018d8015120146e", - "0x721c0d7050053440544805360056940635005448050c4050f0061c80544805", - "0x51b80601912014230146e01806448053340593c06019120140604006344d4", - "0x501405370061d80544805158050500632405448053a405698060191201414", - "0x112014c9015a50187901512014360143c018c4015120143401417018c601512", - "0x51b80601912014cd0164f0180644805018100187b1e4c431876050051ec05", - "0x112014d301414018c1015120144f015a6018064480505c05128060191201414", - "0x5448050d8050f0062f405448050d00505c061fc054480501405370061f405", - "0x5128060191201406040062fcbc2f47f1f414014bf01512014c1015a5018bc", - "0x11201406014140188201512014ce015a60180644805050051b8060191201417", - "0x5448050d8050f00622c05448050d00505c062e4054480501405370062e805", - "0x25001806448050f405830062d88522cb92e814014b60151201482015a501885", - "0x5050050b0060500544805018bb01810015120149d016510189d0151201406", - "0x2540390705c9d4483d040140140604253018100151201410016520181401512", - "0x54480505c0505c06080054480503805954060191201406040063fc1d4089d", - "0x100180695c050191701825015120142001656018b501512015070143c018b2", - "0x5074050f0062c805448054080505c062ec05448053fc05960060191201406", - "0x1120142c0165a0182c0151201425016590182501512014bb01656018b501512", - "0x1120142a014220180644805018100182d0165b0a8054483d0a005368060a005", - "0x5448052c80505c0630805448050c40544c060c40544805300055040630005", - "0x6040060d8340e49d0143601512014c2015420183401512014b50143c01839", - "0x112014b50143c0183a01512014b201417018c5015120142d015430180644805", - "0x505c06019120143d01594018cc0f03a27405330054480531405508060f005", - "0x6050102749d4480541c170f5c00190701512014050143c018170151201406", - "0x62c805448052740505c06019120140604006408059700e015120f414015c1", - "0x54483d0800570406080ff0749d448052d4b20f65d018b501512014100143c", - "0x3d448050a00597c060a005448050940570c060191201406040062ec0597825", - "0xc0015120142d015c40182d015120142a0166001806448050b00572c060a82c", - "0x601912014c2015cb018393083d448050c40597c060c405448050380570c06", - "0x60e8c50f512014c00146c018360151201434015c401834015120143901660", - "0x547406019120143c0146e018cc0f03d448050d8051b00601912014c50146e", - "0x50e4063480544805338cd0f5be018ce01512014cc0151d018cd015120143a", - "0x5019180180644805018100184101661019120f4d2015b3018d201512014d2", - "0x1120141d014170184501512014d301663018d30151201443016620184301512", - "0x10018d512046274053540544805114059900612005448053fc050f00611805", - "0x4f0151201406994061380544805018310180644805104056d8060191201406", - "0x608c05448050183601850015120144f1383d0d00613c054480513c050e406", - "0x615805448050740505c06124054480515005998061500544805140230f4c5", - "0x1120140604006390e21589d014e4015120144901664018e201512014ff0143c", - "0x616805448050740505c0639c05448052ec0599806019120140e0166701806", - "0x11201406040063a45c1689d014e901512014e7016640185c01512014ff0143c", - "0x6001512014100143c018e8015120149d014170185e01512015020166601806", - "0x140166801814015120149d01604018e1180e82740538405448051780599006", - "0x544805018d301907015120141701443018170151201406104060400544805", - "0x544805040059a4060740544805409070f44601902015120140e014450180e", - "0x28015120141d0144e018bb01512014050143c01825015120140601417018ff", - "0xb5014bd018b52c820275120142c0a0bb094109ac060b005448053fc059a806", - "0x1120140646006019120142a014bc0180644805018100182d0166c0a8054483d", - "0x1120142001417018c20151201431016090183101512014c00f43d8200630005", - "0x10018360d039274050d8054480530805828060d005448052c8050f0060e405", - "0x1120142001417018c5015120142d0160b01806448050f405650060191201406", - "0x1f8018cc0f03a27405330054480531405828060f005448052c8050f0060e805", - "0x57e4064080544805014050f00603805448050180505c0604005448050f405", - "0x109b4063fc05448053fc050e4063fc9d0f5120149d015b20181d0151201410", - "0x501810018b20166f080054483d41c059b80641c170509d448053fc1d4080e", - "0x544805274059c40601912014250145e018252d43d44805080059c00601912", - "0x3101512014170143c018c00151201414014170182801512014b501443018bb", - "0x1120143930831300109cc060e405448052ec059c80630805448050a00549006", - "0x340159301806448050181001836016740d0054483d0b405644060b42a0b09d", - "0x50f0c50f6080183c015120140646006019120143a0145e0183a3143d44805", - "0x1120142a0143c018ce015120142c01417018cd01512014cc01609018cc01512", - "0x360160b01806448050181001841348ce274051040544805334058280634805", - "0x510c058280611405448050a8050f00634c05448050b00505c0610c0544805", - "0xb20160b0180644805274051b8060191201406040061184534c9d0144601512", - "0x51200582806138054480505c050f00635405448050500505c061200544805", - "0x607405448050f405214064080544805018050500613c4e3549d0144f01512", - "0x9d44805080ff075020427501820015120141401439018ff015120141001612", - "0x544805274050f0060a005448050140505c062c80544805018bb0180e41c17", - "0x50b42a0b028042770182d015120140e016760182a01512014b20142c0182c", - "0xc001488018c00151201431016790183101512014bb01678018bb094b527512", - "0x34015a30183401512014c2014b4018064480501810018390167a308054483d", - "0x52d40505c060e8054480505c050500631405448050d805690060d80544805", - "0x112014c5015a5018cd01512014250143c018cc0151201507014850183c01512", - "0x14018d20151201439015a6018064480501810018ce334cc0f03a0500533805", - "0x50f00634c054480541c052140610c05448052d40505c06104054480505c05", - "0x11201406460061184534c43104140144601512014d2015a5018450151201425", - "0x54480501805050060380544805040054d00641c054480505c058440605c05", - "0x28015120149d0143c018bb015120143d0148501825015120140501417018b5", - "0x60b4054480541c0528c060a80544805050050e4060b005448050380584806", - "0xc0015120f4b20167c018b2080ff07502051120142d0a82c0a0bb094b541e7b", - "0x6448050e405178060e4c20f512014c00167e018064480501810018310167d", - "0x631405448050d0360f67f0183601512014c20144501834015120140646006", - "0x85018cc015120141d014170183c0151201502014140183a01512014c501680", - "0x3c0500534805448050e805a04063380544805080050f00633405448053fc05", - "0x544805408050500610405448050c405a0806019120140604006348ce334cc", - "0x4601512014200143c0184501512014ff01485018d3015120141d0141701843", - "0x7001810015120140501507018481184534c4305005120054480510405a0406", - "0x601912014060400605c05a0c14015120f49d014720189d0f43d4480504005", - "0x54480503805a180601912014060400640805a140e41c3d4483d050060f684", - "0xb2015120141d0168701820015120143d01507018ff0151201507014140181d", - "0x5448052d405a20062d4054480501918018064480501810018b2080ff27405", - "0x2c01512014250168701828015120143d01507018bb01512015020141401825", - "0x11201406014140182a0151201417016880180644805018100182c0a0bb27405", - "0x289018313002d274050c405448050a805a1c0630005448050f40541c060b405", - "0x504005a2c0601912014060400641c170509da28102743d275120f4050183d", - "0x1120140e0168c0181d015120149d0143c01902015120143d014170180e01512", - "0x505c06080054480541c05a380601912014060400601a8d0140645c063fc05", - "0xff0168f018ff01512014200168c0181d01512014170143c019020151201414", - "0x10018bb01691094054483d2c8058ac062c805448052d405a40062d40544805", - "0x50b0054e8060b005448050a005a48060a00544805094058b4060191201406", - "0x1120142a01693018c0015120141d0143c0182d0151201502014170182a01512", - "0x10201417018c201512014bb01694018064480501810018313002d274050c405", - "0x360d039274050d8054480530805a4c060d00544805074050f0060e40544805", - "0x6274d2018140151201414014ce01814015120140633406019120140627c06", - "0x140180644805019cd018064480501810019020383da550705c3d4483d05005", - "0x601912014060400608005a5cff0743d4483d27405a580605c054480505c05", - "0x29901825015120141d0144f018b501512014b201624018b201512014ff01698", - "0x2801512014064600601912014060400601a9a0140645c062ec05448052d405", - "0x62ec05448050b005a640609405448050800513c060b005448050a00589c06", - "0x60e4054480541c0505c060191201406040060b405a6c2a015120f4bb015bb", - "0xc027512014360d0392769d01836015120142a0169c01834015120143d0143c", - "0x6448050189f0180644805018100183a0169f314054483d30805a780630831", - "0x43015120141701414018cc015120143c0403da84060f0054480531405a8006", - "0x611805448050940513c0611405448050c4050f00634c05448053000505c06", - "0x58f406104d2338cd04112014481184534c430523c0184801512014cc0163b", - "0x608c5013c9d44805354058fc0601912014060400613805a88d5015120f441", - "0x5601512014cd01414018490151201454016a40185401512014231404f276a3", - "0x539c054480512405a94063900544805348050f00638805448053380505c06", - "0x112014cd014140185a015120144e016a6018064480501810018e7390e215810", - "0x54480516805a94061780544805348050f0063a405448053380505c0617005", - "0x11201425014c001806448050189f018064480501810018e8178e917010014e8", - "0x6384054480505c050500618005448050e805a98060191201410014e201806", - "0x10014650151201460016a5018e301512014310143c0186101512014c001417", - "0x11801806448050b40517806019120140627c06019120140604006194e3184e1", - "0x14018dc0151201467016a401867015120144a04025276a30184a0151201406", - "0x5a940608805448050f4050f006368054480541c0505c061a4054480505c05", - "0x6019120149d014c00180644805018100186c088da1a4100146c01512014dc", - "0x5360050e4063600544805018650186e01512014060c4060191201410014e2", - "0x535c700f4c50187001512014060d80635c05448053606e0f434018d801512", - "0x1120150201417018d1015120140e01414018d40151201472016a60187201512", - "0x631876324d104005318054480535005a94061d805448050f4050f00632405", - "0x50189d34806040054480504005338060400544805018cd01806448050189f", - "0x640805448050f40508006019120140604006039070f6a705c140f5120f410", - "0x20016a83fc1d0f5120f5020149b018140151201414014140180644805019cd", - "0x5458062d4054480507405000062c805448053fc0526806019120140604006", - "0x62ec05448050191801806448050181001806aa405019170182501512014b2", - "0x11a01825015120142801516018b50151201420014000182801512014bb01519", - "0x2c0151b01806448050189f0180644805018100182a016aa0b0054483d09405", - "0x393083d360060e405448052740539c0630805448050b4050e4060b40544805", - "0x505005050060d005448052d4053840601912014310145e018313003d44805", - "0x112014c0014e7018cd015120143401507018cc0151201417014170183c01512", - "0x5aacd2015120f43a0145c0183a3143627512014ce334cc0f0109040633805", - "0x14018064480534c051780634c430f512014d2014e901806448050181001841", - "0x645c06120054480510c0539c0611805448053140505c0611405448050d805", - "0x4e015120143601414018d501512014410153f01806448050181001806ab005", - "0x5018100185013c4e274051400544805354054f80613c05448053140505c06", - "0x50500601912014b5016ad01806448050a80517806019120140627c0601912", - "0x50191801848015120149d014e701846015120141701417018450151201414", - "0x511405050061240544805150054f406150054480508c480f52f0182301512", - "0x6390e21589d014e401512014490153e018e20151201446014170185601512", - "0x5448050183101806448050f40512806019120149d01460018064480501810", - "0x5c015120145a39c3d0d0061680544805168050e406168054480501865018e7", - "0x63a00544805178054fc061780544805170e90f4c5018e901512014060d806", - "0x9d0146101512014e80153e018e1015120140e0141701860015120150701414", - "0x2b001806448050181001814016af0409d0f5120f43d01406276ae0186138460", - "0x5ac8060380544805274050500641c054480505c05ac40605c054480504005", - "0x6acc06074054480501831018064480501810019020383d015020151201507", - "0x5018360182001512014ff0743d0d0063fc05448053fc050e4063fc0544805", - "0x5050050500609405448052d405ad0062d40544805080b20f4c5018b201512", - "0x605c140f51201414015b2018282ec3d014280151201425016b2018bb01512", - "0x51b80601912014140146e01806448050181001907016b5019120f417015b3", - "0xe015120140646006019120149d0146e0180644805040051b806019120143d", - "0x63fc054480501405370060740544805018050500640805448050380591406", - "0x64480541c056d806019120140604006080ff0749d014200151201502014a3", - "0xb501512014b20943d6f806094140f51201414015b2018b20151201406ad806", - "0x60191201406040062ec05adc064483d2d4056cc062d405448052d4050e406", - "0x5274051b80601912014100146e01806448050f4051b80601912014140146e", - "0x2a0151201406014140182c0151201428016450182801512014064600601912", - "0x501810018c00b42a2740530005448050b00528c060b405448050140537006", - "0x390403d44805040056c8060c4054480501ab601806448052ec056d80601912", - "0x2b8019120f4c2015b3018c201512014c201439018c201512014310e43d6f806", - "0x51b806019120143d0146e0180644805050051b8060191201406040060d005", - "0x5448050d805914060d80544805019180180644805274051b8060191201410", - "0xcc01512014c5014a30183c0151201405014dc0183a015120140601414018c5", - "0x1120f49d0183dae4060191201434015b6018064480501810018cc0f03a27405", - "0x533805af006338054480533805aec0601912014060400634805ae8ce3343d", - "0x46016bd114d30f5120f4433343dae40610c100f51201410015b20184101512", - "0x6af806120054480511405af006114054480511405aec06019120140604006", - "0x1120144e01439018d501512014d5014390184e0151201406afc063540544805", - "0x50181001806b044f015120f44e3543db000634c054480534c050500613805", - "0x5448050140537006140054480513c05af00613c054480513c05aec0601912", - "0x112014e215849276c3018e2015120141401439018560151201448016c201849", - "0x11201441016c6018064480501810018e4016c5019120f454016c40185408c3d", - "0x6460060191201450016c601806448050f4051b80601912014100146e01806", - "0x508c0537006170054480534c0505006168054480539c059140639c0544805", - "0x5b1c06019120140604006178e91709d0145e015120145a014a3018e901512", - "0x50016c2018e30151201423014dc0180644805180051b806180e80f512014e4", - "0xdc018613843d448051286538c9db0c0612805448050f4050e4061940544805", - "0x9db0c060880544805040050e406368054480510405b08061a4054480538405", - "0x6e015120146e016c20186e1843d4480518405b2006370670f5120142236869", - "0x5448053606e0f6c9018d801512014d8016c2018d83703d4480537005b2006", - "0x1001806b2c0501917018064480501810018d7016ca019120f46c016c40186c", - "0x53a0056c80601912014720146e018721c03d4480535c05b1c060191201406", - "0xd4015b3018d401512014d401439018d401512014d11c03d6f806344e80f512", - "0x112014dc016c601806448053a0051b80601912014060400632405b30064483d", - "0x14018c6015120147601611018760151201406460060191201461016c601806", - "0xc4274051ec05448053180528c061e4054480519c0537006310054480534c05", - "0x2c20187d0151201461016c20180644805324056d8060191201406040061ec79", - "0xbd016ce019120f4c1016c4018c1015120147f1f43db34061fc054480537005", - "0x6448050181001806b3c050191701806448053a0051b806019120140604006", - "0x8201512014e82f03d6f80601912014bf0146e018bf2f03d448052f405b1c06", - "0x60191201406040062e805b40064483d208056cc062080544805208050e406", - "0x537006214054480534c050500622c05448052e405844062e4054480501918", - "0x6019120140604006220b62149d01488015120148b014a3018b60151201467", - "0xd301414018b001512014b401645018b401512014064600601912014ba015b6", - "0x8e28cae2740523805448052c00528c0628c054480519c05370062b80544805", - "0x50f4051b80601912014100146e018064480510405b1806019120140604006", - "0x245018900151201406460060191201448016c60180644805050051b80601912", - "0x528c062680544805014053700626c054480534c050500627c054480524005", - "0x2c60180644805050051b8060191201406040060009a26c9d01400015120149f", - "0x5448050191801806448050f4051b80601912014100146e018064480510405", - "0x1190151201405014dc019180151201446014140191701512015160164501916", - "0x112014140146e0180644805018100191a4651827405468054480545c0528c06", - "0x59140646c0544805019180180644805040051b806019120143d0146e01806", - "0x11c014a30191e0151201405014dc0191d01512014d2014140191c015120151b", - "0x11201406040060f405b4805015120f406016d1019154791d274054540544805", - "0x1401512014100154201810015120149d015130189d01512014050154101806", - "0x107015120143d05c3d3140605c0544805018360180644805018100181401405", - "0x1120140601417019020140540805448050380550806038054480541c0550c06", - "0x100162b018102743d27512014170503d8a80605c0544805014050f00605005", - "0x1020162e0190201512015070162d0180644805018100180e016d341c054483d", - "0x23101806448053fc058c006094b52c8203fc1444805074058bc060740544805", - "0x112014b5016320180644805094051b80601912014b2015cb018064480508005", - "0x544805274050f0060b005448050f40505c060a005448052ec058cc062ec05", - "0x5038058d4060191201406040060b42a0b09d0142d0151201428016340182a", - "0x112014c001634018c2015120149d0143c01831015120143d01417018c001512", - "0x50143d0151201405016d5018050151201406016d40183930831274050e405", - "0x605c054480501831018100151201414016d601814015120149d0166a0183d", - "0x59a806019120140e016d7019020383d44805040054f00641c054480501831", - "0xb2276d8018250151201507014e7018b50151201417014e7018b20151201502", - "0x60a0bb0f5120141d014e801806448050800517806080ff0749d44805094b5", - "0x600182d0a83d448053fc053a0060b005448050a0053840601912014bb01460", - "0xc0015070182c015120142c01507018c0015120142d014e101806448050a805", - "0x501810018360d039276da308310f5120f4c00b00501810b64063000544805", - "0x3c0151201431014170183a01512014c5016db018c501512014064600601912", - "0x60400601add0140645c0633405448050e805b70063300544805308050f006", - "0x112014340143c0183c015120143901417018ce0151201436016de0180644805", - "0x544805104054ec06104054480533405b7c06334054480533805b700633005", - "0x54480510c05b840601912014060400634c05b8043015120f4d2015fe018d2", - "0x5448050f00505c061200544805118056580611805448051143d0f59501845", - "0x60400613c4e3549d0144f0151201448015970184e01512014cc0143c018d5", - "0x5448050f00505c06140054480534c0566006019120143d014d50180644805", - "0x6940061245408c9d014490151201450015970185401512014cc0143c01823", - "0x1120143d016010181701512014062ec06050054480504005944060400544805", - "0x544805050059480605c054480505c050b006019120140e0160c0180e41c3d", - "0x64480501810018b2080ff276e3075020f5120f49d0501701406052e201814", - "0x3c018bb0151201502014170182501512014b5016db018b5015120140646006", - "0x112014060400601ae40140645c060b0054480509405b70060a0054480507405", - "0x2801512014200143c018bb01512014ff014170182a01512014b2016de01806", - "0x60b40544805300054ec0630005448050b005b7c060b005448050a805b7006", - "0x60e405448050c405b840601912014060400630805b9431015120f42d015fe", - "0x631405448052ec0505c060d805448050d005b9c060d005448050e5070f6e6", - "0x11201406040060f03a3149d0143c0151201436016e80183a01512014280143c", - "0x633405448052ec0505c06330054480530805ba40601912015070160c01806", - "0x5274059c806348ce3349d014d201512014cc016e8018ce01512014280143c", - "0x54480505c0510c0605c054480501841018100151201414016ea0181401512", - "0x1d015120150241c3d11806408054480503805114060380544805018d301907", - "0x62ec0544805014050f00609405448050180505c063fc0544805040059a406", - "0x9d448050b0282ec250426b0182c01512014ff0166a01828015120141d0144e", - "0x50a8052f0060191201406040060b405bac2a015120f4b5014bd018b52c820", - "0x5448050c405824060c405448053003d0f608018c001512014064600601912", - "0x3601512014c20160a0183401512014b20143c01839015120142001417018c2", - "0x5448050b40582c06019120143d01594018064480501810018360d03927405", - "0xcc01512014c50160a0183c01512014b20143c0183a015120142001417018c5", - "0x11201410016ee018100151201406bb406019120143d016ec018cc0f03a27405", - "0x5274170149dbc00605c054480505c050e40605c054480505005bbc0605005", - "0x5074050e406074054480540805bbc06408054480503805bb806039070f512", - "0x10701485018b201512014ff01414018203fc3d44805074060f6f10181d01512", - "0x10015120149d01651018252d4b2274050940544805080059d8062d40544805", - "0x6019120140604006075020389dbc90705c14275120f4100f4050181094c06", - "0x51b0062c80544805019aa01806448053fc051b806080ff0f512015070146c", - "0xbb0146c018bb01512014200151d01806448052d4051b806094b50f512014b2", - "0x50a8051b0060a80544805094054740601912014280146e0182c0a03d44805", - "0x112014c00151d01831015120142c0151d01806448050b4051b8063002d0f512", - "0x11201439014390183901512014c20c43d6f8060c405448050c4050e40630805", - "0x64483d0e4056cc0605c054480505c050f00605005448050500505c060e405", - "0x631405448050d805844060d805448050191801806448050181001834016f3", - "0x11201434015b601806448050181001806bd005019170183a01512014c5014a3", - "0x60e805448053300528c0633005448050f005914060f005448050191801806", - "0x3c018d2015120141401417018ce01512014cd016f6018cd015120143a016f5", - "0x6448050181001843104d22740510c0544805338054e406104054480505c05", - "0x61180544805408050f00611405448050380505c0634c054480507405bdc06", - "0x100183d016f9014054483d01805be006120461149d0144801512014d301539", - "0x504005694060400544805274056900627405448050140568c060191201406", - "0x50f4170f4c50181701512014060d806019120140604006050050141401512", - "0x5be8064080501502015120140e015a50180e0151201507015a60190701512", - "0x5848062c805448050f4052140608005448050180505006039070f51201410", - "0x1d4089d44805094b52c8200427501825015120141401439018b5015120140e", - "0x644805018100182c016fb0a0054483d05c056a0062ec0544805018bb018ff", - "0x645c060b405448050a8050e4060a80544805019aa01806448050a00517806", - "0x39018c001512014066b006019120142c0145e01806448050181001806bf005", - "0x14b88062ec05448052ec050b0060c405448053fc05944060b4054480530005", - "0x501918018064480501810018c50d834276fd0e4c20f5120f42d0c4bb27405", - "0x112014390143c018cc01512014c2014170183c015120143a016db0183a01512", - "0x5b780601912014060400601afe0140645c0633805448050f005b700633405", - "0xd2016dc018cd01512014360143c018cc015120143401417018d201512014c5", - "0x3d104057f806104054480510c054ec0610c054480533805b7c063380544805", - "0x4641c3dc0006118054480534c05b840601912014060400611405bfcd301512", - "0x53300505c0613805448054080505006354054480512005c04061200544805", - "0x112014d5017020182301512014cd0143c01850015120141d014850184f01512", - "0x5c0c060191201507016ec0180644805018100185408c5013c4e0500515005", - "0x1d01485018e201512014cc0141701856015120150201414018490151201445", - "0xe43885605005168054480512405c080639c0544805334050f0063900544805", - "0x11201405016920180644805018100183d01705014054483d01805c1006168e7", - "0x5018100181401405050054480504005a4c060400544805274054e80627405", - "0x54480541c05a500641c05448050f4170f4c50181701512014060d80601912", - "0x53a006050102749d448050f405c18064080501502015120140e016930180e", - "0xe015070180e0151201507014e1018064480505c051800641c170f51201414", - "0x10018b52c820277083fc1d4089d4483d038102740501814c1c060380544805", - "0x5074050f0062ec05448054080505c0609405448053fc05c24060191201406", - "0x30c01806448050181001806c2c05019170182c01512014250170a0182801512", - "0x5c28060a005448052c8050f0062ec05448050800505c060a805448052d405", - "0x2d0169e0182d01512014c00170e018c0015120142c0170d0182c015120142a", - "0x3901461018390151201431016a0018064480501810018c20170f0c4054483d", - "0x50a0050f00631405448052ec0505c060d805448050d00538c060d00544805", - "0x50e8060191201406040060f03a3149d0143c0151201436014cc0183a01512", - "0xcc014cc018ce01512014280143c018cd01512014bb01417018cc01512014c2", - "0x64483d27405b1006274050f51201405016c8018d2338cd274053480544805", - "0x605005448050180537006019120143d0146e0180644805018100181001710", - "0x11201405016c601806448050181001806c440501917018170151201405016c2", - "0x540805c4c064080e0f512014100f507018104e00641c054480501b1201806", - "0x50181001806c541d015120f502017140180e015120140e014dc0190201512", - "0x601b160140645c0608005448053fc05b08063fc054480507405af00601912", - "0x5038053700608005448052c805b08062c8054480501b17018064480501810", - "0x1120141701719018b5015120141401718018170151201420016c20181401512", - "0x9d0171a019120f43d016c40183d0183d4480501805b2006094b50f40509405", - "0x604005014100151201405016c2018064480501805b1806019120140604006", - "0x9d0171c018064480501810018140171b019120f405016c4018064480501810", - "0x501805b180601912014060400605c05014170151201406016c20180644805", - "0x54480503805c4c060380544805275070f71d019070151201406c480601912", - "0x54483d40805c5006408054480540805c4c0640805448050500e0f71d0180e", - "0x2001512014ff016c2018ff015120141d016bc01806448050181001806c781d", - "0x112014b2016c2018b20151201406c5c0601912014060400601b1f0140645c06", - "0x5b10060f4050f51201405016c8018b5014052d4054480508005c640608005", - "0x501805b08060191201405016c60180644805018100189d01720019120f43d", - "0x1120140501721018064480527405c7006019120140604006040050141001512", - "0x1120140e41c3db2406038054480505005b080641c054480501805b080605005", - "0x6014050140501512014060166a0190201405408054480505c05c640605c05", - "0x6038054480527405b540601912014060400604005c889d015120f40601537", - "0x14275120141d4080e277230181d015120143d014e7019020151201405014e7", - "0x200151201417014e7018ff0151201414014e7018064480541c051780641c17", - "0x50140539c062ec054480504005c940601912014060400601b240140645c06", - "0x5e018252d4b2275120142c0a0bb277260182c015120143d014e70182801512", - "0x5019180182001512014b5014e7018ff01512014b2014e7018064480509405", - "0x1120142a01544018c00151201420017270182d01512014ff017270182a01512", - "0x60191201406040060f405ca405015120f40601728018313002d274050c405", - "0x50141401512014100166401810015120149d016630189d015120140501662", - "0x26601907015120143d05c3d3140605c05448050183601806448050181001814", - "0x501512014060172a019020140540805448050380599006038054480541c05", - "0x54480501805c2806014054480501b2b0183d014050f4054480501405b5406", - "0x54483d0f405a78060f405448050409d0f72c018100151201405014390189d", - "0x54480541c051840641c054480505005a800601912014060400605c05cb414", - "0x1120140604006074050141d0151201502014cc01902015120140e014e30180e", - "0x3d01805cb806080050142001512014ff014cc018ff01512014170143a01806", - "0x1120141401439018140151201406cc00601912014060400604005cbc9d01512", - "0x11201417014e70181d015120149d016720181701512014140143d0d00605005", - "0x5178064080e41c9d44805080ff0749dcc40608005448050f40539c063fc05", - "0x3320140645c062d405448050380539c062c8054480541c0539c060191201502", - "0x3d0d0060940544805094050e406094054480501b3301806448050181001806", - "0x539c0630005448052ec0539c060b4054480504005810062ec054480509405", - "0x6019120142a0145e0182a0b02827512014313002d2773401831015120143d", - "0x5c9c06308054480501918018b5015120142c014e7018b20151201428014e7", - "0x340e49d0143601512014c2015440183401512014b5017270183901512014b2", - "0x3d01805cd806018060173501806448050f4051800601912014050146001836", - "0x1120143d014610180644805014051b80601912014060400627405cdc3d01512", - "0x501810018170140505c0544805050053300605005448050400538c0604005", - "0xe015120140541c3d0d00641c0544805018310180644805274051800601912", - "0x63fc0544805074050e8060740544805039020f4c50190201512014060d806", - "0x544805274050e406274054480501805ce006080050142001512014ff014cc", - "0x112014140145e018140403d4480541c170f4d801907015120143d014e701817", - "0x607405448050400539c0640805448050140539c0603805448050191801806", - "0x5274050e4062740544805018054d8063fc1d4089d014ff015120140e01544", - "0x140145e018140403d4480541c170f4d801907015120143d014e70181701512", - "0x5448050400539c0640805448050140539c060380544805019180180644805", - "0xae0189b2681005c0626c9a040823fc1d4089d014ff015120140e015440181d", - "0x9a051900409d0f405018ae0189b2e49a050170189b2e49a050062743d01406", - "0xb92681405c0626cb926814954102743d014062b80626cb92681405c0626cb9", - "0x10ce89d0f405018ae0189b2681005c0626c9a043390409d0f405018ae0189b", - "0x62b80626c9a040170189b26810cec9d0f405018ae0189b2681005c0626c9a", - "0x170189b2e49a0533d2743d014062b80626c9a040170189b26810cf09d0f405", - "0x62b80626cb92681405c0626cb926814cf8102743d014062b80626cb926814", - "0xc4053400409d0f405018ae0189b268c4050170189b268c40533f0409d0f405", - "0x627c9b2689d05c9b2689dd04102743d014062b80626c9a3101405c0626c9a", - "0x101849b26810d0c102743d014062d00626c9a040451e40626c9a053420f405", - "0x3d014062e80626cb926814114790189b2e49a05f442743d014062d89b2689d", - "0x9d05c9b2689dd1c062f0170f4170174601406074100f4100383dd14140409d", - "0x9d0f405018ba0189b2e49a05010038790189b2e49a41f480f405018bd26c9a", - "0x17050102743d014062e80626cb9268140400e1e40626cb926907d241705010", - "0x3d014063040626c9d038790189b0434b0f405018ba0189b274790189b2774a", - "0x5018c10189b2740e1e40626c10d343d014062e80626c9d1e40626c9dd309d", - "0x9a03b4f050102743d014062e80626cb926814038790189b2e49a05f4e2743d", - "0x9b26817d410705c140409d0f405018ba0189b2e49a0500e0380e1e40626cb9", - "0x50181d0403d040310f751050102743d01406318063109b2681403879018c4", - "0x1726c9a05353050102743d01406304063109b2681403879018c426c9a05f52", - "0x10114700189b26814d54061c0051e405d50102743d0140627c9b2689d03845", - "0x14d5c9d0f405018b626c9a274103449b26810d58102743d014062d00626c9a", - "0x9a2740e0401726c9a053580409d0f405018ba0189b2e49a050700189b2e49a", - "0x3d014062e80626cb9268140400e1c00626cb926907d64102743d014062f49b", - "0x626c9d038700189b0435b0f405018ba0189b274700189b2775a05c140409d", - "0x9b2740e1c00626c10d743d014062e80626c9d1c00626c9dd709d0f405018d4", - "0x63109b268140385a018c426c9a05f5f0185a014790175e2743d0140635006", - "0x9d0f405018d4018c426c9a0500e1c0063109b26817d80140409d0f405018c6", - "0x363014063680626c9d0189b0f7620f405018d826c9a2741726c9a2776105010", - "0x3652743d014062d00626c9a040450189b26810d9005018dc0189b2740626c3d", - "0xb92681405c0e1c00626cb926907d989d0f405018b626c9a2741005c9b26810", - "0x9b277680f405018ba0189b274340189b2776705c140409d0f405018c60189b", - "0x10da89d0f405018d40189b2743a1c00626c10da43d014063a00626c9d1c006", - "0x63109b2681403828018c426c9a05f6b2743d014063500626c9d038700189b", - "0x9d0f405018e9018c426c9a0500e168063109b26817db0140409d0f405018c6", - "0x9a0536f014063880626c9d0189b0f76e01406390172689d05c9a0f76d05010", - "0x62d89b2689d0401726c9a043700409d0f405018d50189b26810118450189b", - "0xb92689d0380e0380e2e49a05f720f405018d32683d28c142689ddc49d0f405", - "0x5dd405018da0189b2740626c3ddd0062e80533405dcc140409d0f40501831", - "0x9d038340189b043772743d014063040626c9d330790189b043760183c0143a", - "0xc426810de49d0f405018d40189b274391c00626c10de09d0f405018c50189b", - "0x37b2743d014063080626c9d348a30189b0437a2743d01406348c42689d03828", - "0x102743d01406300063109b268140c40e0a0063109b26907df0063180530805", - "0xe080b92777f0f405018ae0189b274220189b2777e018e2014bb0177d05c14", - "0xcc017820140608005080200f7810140608005080200f7800f405018202e43d", - "0x50e405e14063a0053fc05e103d01406074100409d040103309de0c0633005", - "0x100403d277880f4050181d04010274100403c27787018ae01507017860183c", - "0x6074100409d040100e49de2805018ae0140e41c3de243d01406074100409d", - "0x38c0f4050181d04010274100403a2778b0f405" - ], - "sierra_program_debug_info": { - "type_names": [ - [0, "System"], - [1, "Uninitialized"], - [2, "openzeppelin::introspection::src5::SRC5Component::Event"], - [3, "EcState"], - [4, "Array"], - [5, "Snapshot>"], - [6, "core::array::Span::"], - [ - 7, - "core::result::Result::, core::array::Array::>" - ], - [8, "felt252"], - [9, "core::pedersen::HashState"], - [10, "Unit"], - [11, "core::result::Result::<(), core::array::Array::>"], - [12, "EcPoint"], - [13, "NonZero"], - [14, "Box"], - [15, "Box"], - [ - 16, - "core::result::Result::, core::array::Array::>" - ], - [ - 17, - "openzeppelin::introspection::src5::SRC5Component::SRC5_supported_interfaces::ComponentMemberState" - ], - [ - 18, - "Tuple" - ], - [19, "core::panics::Panic"], - [20, "Tuple>"], - [ - 21, - "core::panics::PanicResult::<(openzeppelin::introspection::src5::SRC5Component::SRC5_supported_interfaces::ComponentMemberState, ())>" - ], - [22, "core::bool"], - [ - 23, - "core::result::Result::>" - ], - [24, "openzeppelin::account::account::AccountComponent::OwnerAdded"], - [ - 25, - "openzeppelin::account::account::AccountComponent::Account_public_key::ComponentMemberState" - ], - [ - 26, - "Tuple" - ], - [ - 27, - "core::panics::PanicResult::<(openzeppelin::account::account::AccountComponent::Account_public_key::ComponentMemberState, ())>" - ], - [28, "openzeppelin::account::account::AccountComponent::OwnerRemoved"], - [29, "openzeppelin::account::account::AccountComponent::Event"], - [30, "openzeppelin::presets::account::Account::Event"], - [ - 31, - "core::result::Result::>" - ], - [32, "StorageAddress"], - [33, "StorageBaseAddress"], - [34, "Box"], - [35, "Tuple>"], - [36, "core::panics::PanicResult::<(core::box::Box::<@core::felt252>,)>"], - [37, "Array"], - [38, "Array>"], - [ - 39, - "Tuple, Array>, Unit>" - ], - [ - 40, - "core::panics::PanicResult::<(core::array::Array::, core::array::Array::>, ())>" - ], - [41, "Box"], - [42, "Box"], - [43, "ContractAddress"], - [44, "core::starknet::info::ExecutionInfo"], - [45, "u64"], - [46, "core::starknet::info::BlockInfo"], - [47, "Tuple>"], - [ - 48, - "core::panics::PanicResult::<(core::box::Box::,)>" - ], - [ - 49, - "core::option::Option::" - ], - [50, "Uninitialized"], - [ - 51, - "openzeppelin::introspection::src5::SRC5Component::ComponentState::" - ], - [ - 52, - "Tuple, Unit>" - ], - [ - 53, - "core::panics::PanicResult::<(openzeppelin::introspection::src5::SRC5Component::ComponentState::, ())>" - ], - [54, "Tuple"], - [55, "core::panics::PanicResult::<((),)>"], - [56, "Box>"], - [ - 57, - "core::option::Option::>>" - ], - [58, "Snapshot>>"], - [59, "Uninitialized>>>"], - [60, "u128"], - [61, "core::starknet::info::TxInfo"], - [62, "Tuple>"], - [ - 63, - "core::panics::PanicResult::<(core::box::Box::,)>" - ], - [64, "Tuple"], - [ - 65, - "core::panics::PanicResult::<(core::starknet::contract_address::ContractAddress,)>" - ], - [66, "core::starknet::account::Call"], - [67, "core::option::Option::"], - [ - 68, - "Tuple, core::option::Option::>" - ], - [ - 69, - "core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>" - ], - [70, "NonZero"], - [ - 71, - "openzeppelin::account::account::AccountComponent::ComponentState::" - ], - [ - 72, - "Tuple, Unit>" - ], - [ - 73, - "core::panics::PanicResult::<(openzeppelin::account::account::AccountComponent::ComponentState::, ())>" - ], - [74, "core::array::Span::>"], - [75, "core::option::Option::>"], - [76, "Tuple"], - [77, "core::panics::PanicResult::<(core::bool,)>"], - [78, "Pedersen"], - [79, "openzeppelin::presets::account::Account::ContractState"], - [80, "Tuple"], - [ - 81, - "core::panics::PanicResult::<(openzeppelin::presets::account::Account::ContractState, ())>" - ], - [82, "core::option::Option::>"], - [ - 83, - "Tuple, core::option::Option::>>" - ], - [ - 84, - "core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>" - ], - [85, "core::option::Option::"], - [86, "Uninitialized"], - [87, "Tuple"], - [88, "core::panics::PanicResult::<(core::felt252,)>"], - [89, "EcOp"], - [90, "Tuple>"], - [91, "Tuple, Unit>"], - [ - 92, - "core::panics::PanicResult::<(core::array::Array::, ())>" - ], - [93, "Tuple>>"], - [ - 94, - "core::panics::PanicResult::<(core::array::Array::>,)>" - ], - [95, "BuiltinCosts"], - [96, "core::panics::PanicResult::<(core::array::Span::,)>"], - [97, "u32"], - [ - 98, - "core::option::Option::>" - ], - [ - 99, - "Tuple, core::option::Option::>>" - ], - [ - 100, - "core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>" - ], - [101, "GasBuiltin"], - [102, "RangeCheck"] - ], - "libfunc_names": [ - [0, "alloc_local"], - [1, "finalize_locals"], - [2, "revoke_ap_tracking"], - [3, "withdraw_gas"], - [4, "branch_align"], - [5, "store_temp"], - [6, "store_temp"], - [7, "store_temp>"], - [ - 8, - "function_call::deserialize>" - ], - [ - 9, - "enum_match, core::option::Option::>)>>" - ], - [ - 10, - "struct_deconstruct, core::option::Option::>>>" - ], - [ - 11, - "enum_match>>" - ], - [12, "struct_deconstruct>"], - [13, "array_len"], - [14, "snapshot_take"], - [15, "drop"], - [16, "u32_const<0>"], - [17, "rename"], - [18, "store_temp"], - [19, "u32_eq"], - [20, "drop>"], - [21, "drop>"], - [22, "array_new"], - [ - 23, - "felt252_const<7733229381460288120802334208475838166080759535023995805565484692595>" - ], - [24, "store_temp"], - [25, "array_append"], - [26, "struct_construct"], - [27, "struct_construct>>"], - [ - 28, - "enum_init,)>, 1>" - ], - [29, "store_temp"], - [ - 30, - "store_temp,)>>" - ], - [31, "get_builtin_costs"], - [32, "store_temp"], - [33, "withdraw_gas_all"], - [ - 34, - "struct_construct" - ], - [ - 35, - "struct_construct>" - ], - [ - 36, - "struct_construct" - ], - [ - 37, - "struct_construct>" - ], - [ - 38, - "struct_construct" - ], - [39, "snapshot_take"], - [40, "drop"], - [41, "store_temp"], - [42, "store_temp>"], - [ - 43, - "function_call::__execute__>" - ], - [44, "store_local"], - [ - 45, - "enum_match>,)>>" - ], - [46, "struct_deconstruct>>>"], - [47, "snapshot_take>>"], - [48, "drop>>"], - [49, "store_temp>>>"], - [50, "store_temp>"], - [ - 51, - "function_call, core::array::SpanSerde::, core::array::SpanDrop::>::serialize>" - ], - [ - 52, - "enum_match, ())>>" - ], - [53, "struct_deconstruct, Unit>>"], - [54, "drop"], - [55, "snapshot_take>"], - [56, "drop>"], - [57, "struct_construct>"], - [58, "struct_construct>>"], - [ - 59, - "enum_init,)>, 0>" - ], - [60, "felt252_const<375233589013918064796019>"], - [61, "drop>"], - [ - 62, - "felt252_const<485748461484230571791265682659113160264223489397539653310998840191492913>" - ], - [63, "store_temp"], - [ - 64, - "function_call::__validate__>" - ], - [65, "enum_match>"], - [66, "struct_deconstruct>"], - [67, "snapshot_take"], - [68, "drop"], - [69, "function_call"], - [70, "alloc_local"], - [71, "function_call"], - [72, "enum_match>"], - [73, "store_local"], - [ - 74, - "function_call::deserialize>" - ], - [ - 75, - "enum_match, core::option::Option::>)>>" - ], - [ - 76, - "struct_deconstruct, core::option::Option::>>>" - ], - [ - 77, - "enum_match>>" - ], - [ - 78, - "function_call::is_valid_signature>" - ], - [ - 79, - "felt252_const<485748461484230571791265682659113160264223489397539653310998840191492914>" - ], - [80, "drop>"], - [ - 81, - "function_call::isValidSignature>" - ], - [ - 82, - "function_call::get_public_key>" - ], - [ - 83, - "function_call::set_public_key>" - ], - [ - 84, - "enum_match>" - ], - [ - 85, - "drop>" - ], - [ - 86, - "function_call::getPublicKey>" - ], - [ - 87, - "function_call::setPublicKey>" - ], - [ - 88, - "function_call::__validate_declare__>" - ], - [ - 89, - "function_call::__validate_deploy__>" - ], - [ - 90, - "felt252_const<485748461484230571791265682659113160264223489397539653310998840191492915>" - ], - [91, "store_temp"], - [ - 92, - "function_call::supports_interface>" - ], - [93, "enum_match>"], - [94, "struct_deconstruct>"], - [95, "snapshot_take"], - [96, "drop"], - [97, "store_temp"], - [98, "function_call"], - [ - 99, - "function_call" - ], - [100, "disable_ap_tracking"], - [101, "array_snapshot_pop_front"], - [ - 102, - "enum_init>, 0>" - ], - [103, "store_temp>>"], - [104, "store_temp>>"], - [105, "jump"], - [106, "struct_construct"], - [ - 107, - "enum_init>, 1>" - ], - [108, "enum_match>>"], - [109, "unbox"], - [110, "array_new"], - [111, "rename"], - [ - 112, - "function_call>" - ], - [ - 113, - "struct_construct, core::option::Option::>>>" - ], - [ - 114, - "enum_init, core::option::Option::>)>, 0>" - ], - [ - 115, - "store_temp, core::option::Option::>)>>" - ], - [ - 116, - "enum_init, core::option::Option::>)>, 1>" - ], - [ - 117, - "enum_init>, 1>" - ], - [ - 118, - "function_call" - ], - [ - 119, - "store_temp>" - ], - [ - 120, - "function_call::__execute__>" - ], - [121, "struct_construct>>>"], - [ - 122, - "enum_init>,)>, 0>" - ], - [ - 123, - "store_temp>,)>>" - ], - [ - 124, - "enum_init>,)>, 1>" - ], - [125, "dup>>>"], - [126, "array_len>"], - [127, "u32_to_felt252"], - [ - 128, - "struct_construct>>" - ], - [129, "store_temp>>"], - [ - 130, - "function_call, core::array::SpanSerde::, core::array::SpanDrop::>>" - ], - [131, "struct_construct, Unit>>"], - [ - 132, - "enum_init, ())>, 0>" - ], - [ - 133, - "store_temp, ())>>" - ], - [ - 134, - "enum_init, ())>, 1>" - ], - [ - 135, - "function_call::validate_transaction>" - ], - [136, "struct_construct>"], - [137, "enum_init, 0>"], - [138, "store_temp>"], - [139, "enum_init, 1>"], - [140, "store_temp"], - [141, "enum_init, 0>"], - [142, "store_temp>"], - [143, "enum_init, 1>"], - [ - 144, - "function_call>" - ], - [ - 145, - "struct_construct, core::option::Option::>>>" - ], - [ - 146, - "enum_init, core::option::Option::>)>, 0>" - ], - [ - 147, - "store_temp, core::option::Option::>)>>" - ], - [ - 148, - "enum_init, core::option::Option::>)>, 1>" - ], - [ - 149, - "enum_init>, 1>" - ], - [ - 150, - "function_call::is_valid_signature>" - ], - [ - 151, - "function_call::get_public_key>" - ], - [ - 152, - "function_call::set_public_key>" - ], - [ - 153, - "enum_match, ())>>" - ], - [ - 154, - "struct_deconstruct, Unit>>" - ], - [ - 155, - "drop>" - ], - [ - 156, - "struct_construct>" - ], - [ - 157, - "enum_init, 0>" - ], - [ - 158, - "store_temp>" - ], - [ - 159, - "enum_init, 1>" - ], - [ - 160, - "function_call::getPublicKey>" - ], - [ - 161, - "function_call::setPublicKey>" - ], - [ - 162, - "function_call" - ], - [ - 163, - "store_temp>" - ], - [ - 164, - "function_call::supports_interface>" - ], - [165, "struct_construct>"], - [166, "enum_init, 0>"], - [167, "store_temp>"], - [168, "enum_init, 1>"], - [169, "rename"], - [170, "enum_match"], - [171, "felt252_const<0>"], - [172, "felt252_const<1>"], - [ - 173, - "struct_deconstruct" - ], - [ - 174, - "function_call::initializer>" - ], - [ - 175, - "drop>" - ], - [176, "dup"], - [177, "felt252_is_zero"], - [ - 178, - "enum_init>, 0>" - ], - [179, "drop>"], - [180, "function_call"], - [ - 181, - "enum_match, core::option::Option::)>>" - ], - [ - 182, - "struct_deconstruct, core::option::Option::>>" - ], - [183, "enum_match>"], - [184, "array_append"], - [185, "felt252_sub"], - [186, "function_call"], - [ - 187, - "enum_match>" - ], - [188, "struct_deconstruct>"], - [189, "contract_address_to_felt252"], - [190, "function_call"], - [ - 191, - "enum_match,)>>" - ], - [192, "struct_deconstruct>>"], - [193, "unbox"], - [194, "struct_deconstruct"], - [195, "drop"], - [196, "drop"], - [197, "enable_ap_tracking"], - [198, "felt252_const<340282366920938463463374607431768211457>"], - [ - 199, - "function_call" - ], - [ - 200, - "felt252_const<26899160088882821476234389471510102233170292334138446031203430254>" - ], - [ - 201, - "felt252_const<6262948757243068301173483364169975331325598907448976754>" - ], - [202, "alloc_local>>>"], - [ - 203, - "struct_deconstruct>>" - ], - [204, "array_snapshot_pop_front>"], - [ - 205, - "enum_init>>, 0>" - ], - [ - 206, - "store_temp>>>" - ], - [ - 207, - "enum_init>>, 1>" - ], - [208, "store_local>>>"], - [ - 209, - "enum_match>>>" - ], - [210, "unbox>"], - [ - 211, - "function_call::serialize>" - ], - [212, "drop>>>"], - [ - 213, - "drop>>>>" - ], - [214, "drop>>"], - [ - 215, - "function_call::_is_valid_signature>" - ], - [ - 216, - "felt252_const<105074844097198521391540583873086336848321434922596230638170725>" - ], - [217, "felt252_const<370462705988>"], - [ - 218, - "enum_init>, 0>" - ], - [ - 219, - "struct_deconstruct>" - ], - [ - 220, - "store_temp" - ], - [ - 221, - "function_call::read>" - ], - [ - 222, - "snapshot_take>" - ], - [ - 223, - "function_call::assert_only_self>" - ], - [224, "enum_match>"], - [225, "drop>"], - [ - 226, - "snapshot_take" - ], - [ - 227, - "struct_construct" - ], - [ - 228, - "store_temp" - ], - [ - 229, - "function_call>" - ], - [ - 230, - "function_call::_set_public_key>" - ], - [ - 231, - "struct_construct, Unit>>" - ], - [ - 232, - "enum_init, ())>, 0>" - ], - [ - 233, - "store_temp, ())>>" - ], - [ - 234, - "enum_init, ())>, 1>" - ], - [ - 235, - "drop" - ], - [ - 236, - "felt252_const<1797054754729183305928171726271749999318198861813713898581160688510183841877>" - ], - [237, "enum_init"], - [ - 238, - "struct_deconstruct>" - ], - [ - 239, - "store_temp" - ], - [ - 240, - "function_call>>::read>" - ], - [ - 241, - "felt252_const<1270010605630597976495846281167968799381097569185364931397797212080166453709>" - ], - [ - 242, - "function_call::register_interface>" - ], - [ - 243, - "enum_match, ())>>" - ], - [ - 244, - "drop, Unit>>" - ], - [245, "alloc_local"], - [ - 246, - "function_call" - ], - [ - 247, - "enum_match>" - ], - [248, "store_local"], - [249, "struct_construct"], - [250, "enum_init, 0>"], - [ - 251, - "struct_construct, core::option::Option::>>" - ], - [ - 252, - "enum_init, core::option::Option::)>, 0>" - ], - [ - 253, - "store_temp, core::option::Option::)>>" - ], - [254, "enum_init, 1>"], - [ - 255, - "enum_init, core::option::Option::)>, 1>" - ], - [256, "drop>"], - [257, "function_call"], - [ - 258, - "enum_match,)>>" - ], - [259, "struct_deconstruct>>"], - [260, "unbox"], - [261, "struct_deconstruct"], - [262, "drop>"], - [263, "drop>"], - [264, "struct_construct>"], - [ - 265, - "enum_init, 0>" - ], - [ - 266, - "store_temp>" - ], - [ - 267, - "enum_init, 1>" - ], - [268, "struct_construct>>"], - [ - 269, - "enum_init,)>, 0>" - ], - [ - 270, - "store_temp,)>>" - ], - [ - 271, - "enum_init,)>, 1>" - ], - [272, "array_new>"], - [273, "store_temp>>"], - [ - 274, - "function_call" - ], - [ - 275, - "enum_match, core::array::Array::>, ())>>" - ], - [ - 276, - "struct_deconstruct, Array>, Unit>>" - ], - [277, "dup>"], - [278, "rename>"], - [ - 279, - "function_call>" - ], - [280, "u32_const<2>"], - [281, "enum_init"], - [282, "function_call>"], - [ - 283, - "enum_match,)>>" - ], - [284, "struct_deconstruct>>"], - [285, "u32_const<1>"], - [286, "function_call"], - [287, "drop>"], - [ - 288, - "storage_base_address_const<550557492744938365112574611882025123252567779123164597803728068558738016655>" - ], - [289, "storage_address_from_base"], - [290, "store_temp"], - [291, "storage_read_syscall"], - [ - 292, - "enum_init>, 0>" - ], - [ - 293, - "store_temp>>" - ], - [ - 294, - "enum_init>, 1>" - ], - [ - 295, - "rename>>" - ], - [ - 296, - "function_call::unwrap_syscall>" - ], - [297, "function_call"], - [298, "snapshot_take"], - [299, "rename"], - [300, "struct_construct>"], - [301, "enum_init, 0>"], - [302, "store_temp>"], - [303, "felt252_const<95565013996018498247890117593540195050286445389156>"], - [304, "enum_init, 1>"], - [305, "drop>"], - [ - 306, - "function_call" - ], - [307, "enum_init"], - [308, "store_temp"], - [ - 309, - "function_call>>" - ], - [ - 310, - "function_call::write>" - ], - [ - 311, - "enum_match>" - ], - [ - 312, - "struct_deconstruct>" - ], - [ - 313, - "struct_construct" - ], - [ - 314, - "store_temp" - ], - [ - 315, - "function_call>" - ], - [ - 316, - "function_call" - ], - [317, "store_temp"], - [318, "function_call"], - [ - 319, - "rename>>" - ], - [ - 320, - "function_call::unwrap_syscall>" - ], - [ - 321, - "function_call>>::write>" - ], - [ - 322, - "enum_match>" - ], - [ - 323, - "struct_deconstruct>" - ], - [ - 324, - "struct_construct, Unit>>" - ], - [ - 325, - "enum_init, ())>, 0>" - ], - [ - 326, - "store_temp, ())>>" - ], - [ - 327, - "enum_init, ())>, 1>" - ], - [328, "contract_address_try_from_felt252"], - [ - 329, - "enum_init, 0>" - ], - [ - 330, - "store_temp>" - ], - [ - 331, - "enum_init, 1>" - ], - [332, "get_execution_info_syscall"], - [ - 333, - "enum_init, core::array::Array::>, 0>" - ], - [ - 334, - "store_temp, core::array::Array::>>" - ], - [ - 335, - "enum_init, core::array::Array::>, 1>" - ], - [ - 336, - "rename, core::array::Array::>>" - ], - [ - 337, - "function_call>::unwrap_syscall>" - ], - [338, "struct_construct>>"], - [ - 339, - "enum_init,)>, 0>" - ], - [ - 340, - "store_temp,)>>" - ], - [ - 341, - "enum_init,)>, 1>" - ], - [342, "array_pop_front"], - [343, "unbox"], - [344, "store_temp>"], - [345, "store_temp"], - [ - 346, - "function_call" - ], - [ - 347, - "enum_match,)>>" - ], - [348, "struct_deconstruct>>"], - [349, "array_append>"], - [ - 350, - "struct_construct, Array>, Unit>>" - ], - [ - 351, - "enum_init, core::array::Array::>, ())>, 0>" - ], - [ - 352, - "store_temp, core::array::Array::>, ())>>" - ], - [ - 353, - "enum_init, core::array::Array::>, ())>, 1>" - ], - [354, "drop>>"], - [355, "array_get"], - [356, "struct_construct>>"], - [ - 357, - "enum_init,)>, 0>" - ], - [ - 358, - "store_temp,)>>" - ], - [359, "felt252_const<1637570914057682275393755530660268060279989363>"], - [ - 360, - "enum_init,)>, 1>" - ], - [ - 361, - "felt252_const<3618502788666131213697322783095070105526743751716087489154079457884512865583>" - ], - [362, "ec_point_from_x_nz"], - [363, "store_temp>"], - [364, "unwrap_non_zero"], - [ - 365, - "felt252_const<874739451078007766457464989774322083649278607533249481151382481072868806602>" - ], - [ - 366, - "felt252_const<152666792071518830868575557812948353041420400780739481342941381225525861407>" - ], - [367, "ec_point_try_new_nz"], - [368, "store_temp"], - [369, "function_call"], - [370, "ec_point_is_zero"], - [371, "drop"], - [372, "ec_point_unwrap"], - [373, "dup"], - [374, "function_call"], - [375, "function_call"], - [ - 376, - "enum_match>>" - ], - [ - 377, - "enum_init" - ], - [378, "store_temp"], - [ - 379, - "function_call::into>" - ], - [380, "snapshot_take"], - [381, "drop"], - [ - 382, - "function_call" - ], - [383, "emit_event_syscall"], - [ - 384, - "enum_init>, 0>" - ], - [ - 385, - "store_temp>>" - ], - [ - 386, - "enum_init>, 1>" - ], - [ - 387, - "rename>>" - ], - [ - 388, - "function_call::unwrap_syscall>" - ], - [389, "struct_deconstruct>"], - [390, "storage_write_syscall"], - [ - 391, - "struct_construct>" - ], - [ - 392, - "enum_init, 0>" - ], - [ - 393, - "store_temp>" - ], - [ - 394, - "enum_init, 1>" - ], - [ - 395, - "function_call" - ], - [ - 396, - "drop" - ], - [ - 397, - "felt252_const<29856869448526851354677579421814598404948672607251612773571742675033995705>" - ], - [398, "struct_construct"], - [399, "struct_deconstruct"], - [400, "pedersen"], - [401, "storage_base_address_from_felt252"], - [402, "bool_not_impl"], - [ - 403, - "enum_init>, 0>" - ], - [ - 404, - "store_temp>>" - ], - [ - 405, - "enum_init>, 1>" - ], - [ - 406, - "enum_match>>" - ], - [ - 407, - "snapshot_take" - ], - [ - 408, - "struct_construct>" - ], - [ - 409, - "enum_init, 0>" - ], - [ - 410, - "store_temp>" - ], - [ - 411, - "enum_init, 1>" - ], - [ - 412, - "enum_match, core::array::Array::>>" - ], - [413, "struct_deconstruct"], - [414, "call_contract_syscall"], - [ - 415, - "enum_init, core::array::Array::>, 0>" - ], - [ - 416, - "store_temp, core::array::Array::>>" - ], - [ - 417, - "enum_init, core::array::Array::>, 1>" - ], - [ - 418, - "rename, core::array::Array::>>" - ], - [ - 419, - "function_call, core::array::Array::>::unwrap::>>" - ], - [420, "ec_state_init"], - [421, "ec_state_add_mul"], - [422, "store_temp"], - [423, "ec_state_try_finalize_nz"], - [424, "ec_point_zero"], - [425, "rename"], - [426, "rename"], - [427, "drop>"], - [428, "ec_state_add"], - [429, "ec_neg"], - [430, "enum_match"], - [ - 431, - "function_call" - ], - [432, "store_temp"], - [ - 433, - "function_call" - ], - [434, "rename>"], - [ - 435, - "enum_match>>" - ], - [ - 436, - "enum_init" - ], - [437, "felt252_const<30828113188794245257250221355944970489240709081949230>"], - [ - 438, - "function_call, core::array::Array::>::expect::>>" - ], - [439, "enum_match"], - [ - 440, - "felt252_const<1610331728778078893946407512609881658931720321973668761376942902098853979009>" - ], - [ - 441, - "function_call" - ], - [ - 442, - "felt252_const<22344655548567333405387866802074085172395779041116519548464544628677498541>" - ], - [ - 443, - "function_call" - ], - [444, "enum_match"], - [ - 445, - "enum_match, core::array::Array::>>" - ], - [ - 446, - "struct_deconstruct" - ], - [ - 447, - "struct_deconstruct" - ] - ], - "user_func_names": [ - [ - 0, - "openzeppelin::account::account::AccountComponent::__wrapper__SRC6Impl____execute__::" - ], - [ - 1, - "openzeppelin::account::account::AccountComponent::__wrapper__SRC6Impl____validate__::" - ], - [ - 2, - "openzeppelin::account::account::AccountComponent::__wrapper__SRC6Impl__is_valid_signature::" - ], - [ - 3, - "openzeppelin::account::account::AccountComponent::__wrapper__SRC6CamelOnlyImpl__isValidSignature::" - ], - [ - 4, - "openzeppelin::account::account::AccountComponent::__wrapper__PublicKeyImpl__get_public_key::" - ], - [ - 5, - "openzeppelin::account::account::AccountComponent::__wrapper__PublicKeyImpl__set_public_key::" - ], - [ - 6, - "openzeppelin::account::account::AccountComponent::__wrapper__PublicKeyCamelImpl__getPublicKey::" - ], - [ - 7, - "openzeppelin::account::account::AccountComponent::__wrapper__PublicKeyCamelImpl__setPublicKey::" - ], - [ - 8, - "openzeppelin::account::account::AccountComponent::__wrapper__DeclarerImpl____validate_declare__::" - ], - [ - 9, - "openzeppelin::account::account::AccountComponent::__wrapper__DeployableImpl____validate_deploy__::" - ], - [ - 10, - "openzeppelin::introspection::src5::SRC5Component::__wrapper__SRC5Impl__supports_interface::" - ], - [11, "openzeppelin::presets::account::Account::__wrapper__constructor"], - [ - 12, - "core::array::ArraySerde::::deserialize" - ], - [ - 13, - "openzeppelin::account::account::AccountComponent::SRC6Impl::::__execute__" - ], - [ - 14, - "core::array::ArraySerde::, core::array::SpanSerde::, core::array::SpanDrop::>::serialize" - ], - [ - 15, - "openzeppelin::account::account::AccountComponent::SRC6Impl::::__validate__" - ], - [16, "core::Felt252Serde::serialize"], - [17, "core::Felt252Serde::deserialize"], - [ - 18, - "core::array::ArraySerde::::deserialize" - ], - [ - 19, - "openzeppelin::account::account::AccountComponent::SRC6Impl::::is_valid_signature" - ], - [ - 20, - "openzeppelin::account::account::AccountComponent::SRC6CamelOnlyImpl::::isValidSignature" - ], - [ - 21, - "openzeppelin::account::account::AccountComponent::PublicKeyImpl::::get_public_key" - ], - [ - 22, - "openzeppelin::account::account::AccountComponent::PublicKeyImpl::::set_public_key" - ], - [ - 23, - "openzeppelin::account::account::AccountComponent::PublicKeyCamelImpl::::getPublicKey" - ], - [ - 24, - "openzeppelin::account::account::AccountComponent::PublicKeyCamelImpl::::setPublicKey" - ], - [ - 25, - "openzeppelin::account::account::AccountComponent::DeclarerImpl::::__validate_declare__" - ], - [ - 26, - "openzeppelin::account::account::AccountComponent::DeployableImpl::::__validate_deploy__" - ], - [ - 27, - "openzeppelin::introspection::src5::SRC5Component::SRC5Impl::::supports_interface" - ], - [28, "core::BoolSerde::serialize"], - [29, "openzeppelin::presets::account::Account::constructor"], - [ - 30, - "core::array::deserialize_array_helper::" - ], - [ - 31, - "openzeppelin::presets::account::Account::HasComponentImpl_AccountComponent::get_component" - ], - [ - 32, - "openzeppelin::account::account::AccountComponent::SRC6::::__execute__" - ], - [ - 33, - "core::array::serialize_array_helper::, core::array::SpanSerde::, core::array::SpanDrop::>" - ], - [ - 34, - "openzeppelin::account::account::AccountComponent::InternalImpl::::validate_transaction" - ], - [ - 35, - "core::array::deserialize_array_helper::" - ], - [ - 36, - "openzeppelin::account::account::AccountComponent::SRC6::::is_valid_signature" - ], - [ - 37, - "openzeppelin::account::account::AccountComponent::PublicKey::::get_public_key" - ], - [ - 38, - "openzeppelin::account::account::AccountComponent::PublicKey::::set_public_key" - ], - [ - 39, - "openzeppelin::account::account::AccountComponent::PublicKeyCamel::::getPublicKey" - ], - [ - 40, - "openzeppelin::account::account::AccountComponent::PublicKeyCamel::::setPublicKey" - ], - [ - 41, - "openzeppelin::presets::account::Account::HasComponentImpl_SRC5Component::get_component" - ], - [ - 42, - "openzeppelin::introspection::src5::SRC5Component::SRC5::::supports_interface" - ], - [ - 43, - "openzeppelin::account::account::AccountComponent::InternalImpl::::initializer" - ], - [44, "core::starknet::account::CallSerde::deserialize"], - [45, "core::starknet::info::get_caller_address"], - [46, "core::starknet::info::get_tx_info"], - [47, "openzeppelin::account::account::AccountComponent::_execute_calls"], - [ - 48, - "core::array::SpanSerde::::serialize" - ], - [ - 49, - "openzeppelin::account::account::AccountComponent::InternalImpl::::_is_valid_signature" - ], - [ - 50, - "core::starknet::storage::StorageMemberAccessImpl::::read" - ], - [ - 51, - "openzeppelin::account::account::AccountComponent::InternalImpl::::assert_only_self" - ], - [ - 52, - "openzeppelin::presets::account::Account::HasComponentImpl_AccountComponent::emit::" - ], - [ - 53, - "openzeppelin::account::account::AccountComponent::InternalImpl::::_set_public_key" - ], - [ - 54, - "core::starknet::storage::StorageMapMemberAccessImpl::>>::read" - ], - [ - 55, - "openzeppelin::introspection::src5::SRC5Component::InternalImpl::::register_interface" - ], - [56, "core::starknet::contract_address::ContractAddressSerde::deserialize"], - [57, "core::starknet::info::get_execution_info"], - [ - 58, - "openzeppelin::account::account::AccountComponent::_execute_calls[expr12]" - ], - [ - 59, - "core::array::serialize_array_helper::" - ], - [60, "core::array::array_at::"], - [61, "core::ecdsa::check_ecdsa_signature"], - [ - 62, - "core::starknet::SyscallResultTraitImpl::::unwrap_syscall" - ], - [63, "core::starknet::info::get_contract_address"], - [ - 64, - "openzeppelin::account::account::AccountComponent::EventOwnerRemovedIntoEvent::into" - ], - [ - 65, - "openzeppelin::presets::account::Account::ContractStateEventEmitter::emit::>" - ], - [ - 66, - "core::starknet::storage::StorageMemberAccessImpl::::write" - ], - [ - 67, - "openzeppelin::presets::account::Account::HasComponentImpl_AccountComponent::emit::" - ], - [ - 68, - "openzeppelin::introspection::src5::SRC5Component::SRC5_supported_interfaces::StorageMapComponentMemberStateImpl::address" - ], - [69, "core::starknet::storage_access::StoreBool::read"], - [70, "core::starknet::SyscallResultTraitImpl::::unwrap_syscall"], - [ - 71, - "core::starknet::storage::StorageMapMemberAccessImpl::>>::write" - ], - [ - 72, - "core::starknet::SyscallResultTraitImpl::>::unwrap_syscall" - ], - [ - 73, - "openzeppelin::account::account::AccountComponent::_execute_single_call" - ], - [74, "core::ec::EcPointImpl::mul"], - [75, "core::ec::EcPointAdd::add"], - [76, "core::ec::EcPointSub::sub"], - [ - 77, - "core::traits::TIntoT::::into" - ], - [ - 78, - "openzeppelin::presets::account::Account::EventIsEvent::append_keys_and_data" - ], - [79, "core::starknet::SyscallResultTraitImpl::<()>::unwrap_syscall"], - [ - 80, - "openzeppelin::account::account::AccountComponent::EventOwnerAddedIntoEvent::into" - ], - [ - 81, - "core::result::ResultTraitImpl::, core::array::Array::>::unwrap::>" - ], - [ - 82, - "openzeppelin::account::account::AccountComponent::EventIsEvent::append_keys_and_data" - ], - [ - 83, - "openzeppelin::introspection::src5::SRC5Component::EventIsEvent::append_keys_and_data" - ], - [ - 84, - "core::result::ResultTraitImpl::, core::array::Array::>::expect::>" - ], - [ - 85, - "openzeppelin::account::account::AccountComponent::OwnerAddedIsEvent::append_keys_and_data" - ], - [ - 86, - "openzeppelin::account::account::AccountComponent::OwnerRemovedIsEvent::append_keys_and_data" - ] - ] - }, - "contract_class_version": "0.1.0", - "entry_points_by_type": { - "EXTERNAL": [ - { - "selector": "0xbc0eb87884ab91e330445c3584a50d7ddf4b568f02fbeb456a6242cce3f5d9", - "function_idx": 7 - }, - { - "selector": "0xfe80f537b66d12a00b6d3c072b44afbb716e78dde5c3f0ef116ee93d3e3283", - "function_idx": 10 - }, - { - "selector": "0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad", - "function_idx": 0 - }, - { - "selector": "0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775", - "function_idx": 1 - }, - { - "selector": "0x1a35984e05126dbecb7c3bb9929e7dd9106d460c59b1633739a5c733a5fb13b", - "function_idx": 4 - }, - { - "selector": "0x1a6c6a0bdec86cc645c91997d8eea83e87148659e3e61122f72361fd5e94079", - "function_idx": 6 - }, - { - "selector": "0x213dfe25e2ca309c4d615a09cfc95fdb2fc7dc73fbcad12c450fe93b1f2ff9e", - "function_idx": 3 - }, - { - "selector": "0x28420862938116cb3bbdbedee07451ccc54d4e9412dbef71142ad1980a30941", - "function_idx": 2 - }, - { - "selector": "0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3", - "function_idx": 8 - }, - { - "selector": "0x2e3e21ff5952b2531241e37999d9c4c8b3034cccc89a202a6bf019bdf5294f9", - "function_idx": 5 - }, - { - "selector": "0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895", - "function_idx": 9 - } - ], - "L1_HANDLER": [], - "CONSTRUCTOR": [ - { - "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", - "function_idx": 11 - } - ] - }, - "abi": [ - { - "type": "impl", - "name": "SRC6Impl", - "interface_name": "openzeppelin::account::interface::ISRC6" - }, - { - "type": "struct", - "name": "core::starknet::account::Call", - "members": [ - { - "name": "to", - "type": "core::starknet::contract_address::ContractAddress" - }, - { "name": "selector", "type": "core::felt252" }, - { "name": "calldata", "type": "core::array::Array::" } - ] - }, - { - "type": "struct", - "name": "core::array::Span::", - "members": [ - { "name": "snapshot", "type": "@core::array::Array::" } - ] - }, - { - "type": "interface", - "name": "openzeppelin::account::interface::ISRC6", - "items": [ - { - "type": "function", - "name": "__execute__", - "inputs": [ - { - "name": "calls", - "type": "core::array::Array::" - } - ], - "outputs": [ - { - "type": "core::array::Array::>" - } - ], - "state_mutability": "view" - }, - { - "type": "function", - "name": "__validate__", - "inputs": [ - { - "name": "calls", - "type": "core::array::Array::" - } - ], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "function", - "name": "is_valid_signature", - "inputs": [ - { "name": "hash", "type": "core::felt252" }, - { - "name": "signature", - "type": "core::array::Array::" - } - ], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - } - ] - }, - { - "type": "impl", - "name": "SRC6CamelOnlyImpl", - "interface_name": "openzeppelin::account::interface::ISRC6CamelOnly" - }, - { - "type": "interface", - "name": "openzeppelin::account::interface::ISRC6CamelOnly", - "items": [ - { - "type": "function", - "name": "isValidSignature", - "inputs": [ - { "name": "hash", "type": "core::felt252" }, - { - "name": "signature", - "type": "core::array::Array::" - } - ], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - } - ] - }, - { - "type": "impl", - "name": "PublicKeyImpl", - "interface_name": "openzeppelin::account::interface::IPublicKey" - }, - { - "type": "interface", - "name": "openzeppelin::account::interface::IPublicKey", - "items": [ - { - "type": "function", - "name": "get_public_key", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "function", - "name": "set_public_key", - "inputs": [{ "name": "new_public_key", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - } - ] - }, - { - "type": "impl", - "name": "PublicKeyCamelImpl", - "interface_name": "openzeppelin::account::interface::IPublicKeyCamel" - }, - { - "type": "interface", - "name": "openzeppelin::account::interface::IPublicKeyCamel", - "items": [ - { - "type": "function", - "name": "getPublicKey", - "inputs": [], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - }, - { - "type": "function", - "name": "setPublicKey", - "inputs": [{ "name": "newPublicKey", "type": "core::felt252" }], - "outputs": [], - "state_mutability": "external" - } - ] - }, - { - "type": "impl", - "name": "DeclarerImpl", - "interface_name": "openzeppelin::account::interface::IDeclarer" - }, - { - "type": "interface", - "name": "openzeppelin::account::interface::IDeclarer", - "items": [ - { - "type": "function", - "name": "__validate_declare__", - "inputs": [{ "name": "class_hash", "type": "core::felt252" }], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - } - ] - }, - { - "type": "impl", - "name": "DeployableImpl", - "interface_name": "openzeppelin::account::interface::IDeployable" - }, - { - "type": "interface", - "name": "openzeppelin::account::interface::IDeployable", - "items": [ - { - "type": "function", - "name": "__validate_deploy__", - "inputs": [ - { "name": "class_hash", "type": "core::felt252" }, - { "name": "contract_address_salt", "type": "core::felt252" }, - { "name": "public_key", "type": "core::felt252" } - ], - "outputs": [{ "type": "core::felt252" }], - "state_mutability": "view" - } - ] - }, - { - "type": "impl", - "name": "SRC5Impl", - "interface_name": "openzeppelin::introspection::interface::ISRC5" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { "name": "False", "type": "()" }, - { "name": "True", "type": "()" } - ] - }, - { - "type": "interface", - "name": "openzeppelin::introspection::interface::ISRC5", - "items": [ - { - "type": "function", - "name": "supports_interface", - "inputs": [{ "name": "interface_id", "type": "core::felt252" }], - "outputs": [{ "type": "core::bool" }], - "state_mutability": "view" - } - ] - }, - { - "type": "constructor", - "name": "constructor", - "inputs": [{ "name": "public_key", "type": "core::felt252" }] - }, - { - "type": "event", - "name": "openzeppelin::account::account::AccountComponent::OwnerAdded", - "kind": "struct", - "members": [ - { "name": "new_owner_guid", "type": "core::felt252", "kind": "data" } - ] - }, - { - "type": "event", - "name": "openzeppelin::account::account::AccountComponent::OwnerRemoved", - "kind": "struct", - "members": [ - { "name": "removed_owner_guid", "type": "core::felt252", "kind": "data" } - ] - }, - { - "type": "event", - "name": "openzeppelin::account::account::AccountComponent::Event", - "kind": "enum", - "variants": [ - { - "name": "OwnerAdded", - "type": "openzeppelin::account::account::AccountComponent::OwnerAdded", - "kind": "nested" - }, - { - "name": "OwnerRemoved", - "type": "openzeppelin::account::account::AccountComponent::OwnerRemoved", - "kind": "nested" - } - ] - }, - { - "type": "event", - "name": "openzeppelin::introspection::src5::SRC5Component::Event", - "kind": "enum", - "variants": [] - }, - { - "type": "event", - "name": "openzeppelin::presets::account::Account::Event", - "kind": "enum", - "variants": [ - { - "name": "AccountEvent", - "type": "openzeppelin::account::account::AccountComponent::Event", - "kind": "flat" - }, - { - "name": "SRC5Event", - "type": "openzeppelin::introspection::src5::SRC5Component::Event", - "kind": "flat" - } - ] - } - ] -} diff --git a/crates/katana/contracts/legacy/README.md b/crates/katana/contracts/legacy/README.md new file mode 100644 index 0000000000..7156f71971 --- /dev/null +++ b/crates/katana/contracts/legacy/README.md @@ -0,0 +1 @@ +Legacy (Cairo 0) contracts. Not compilable as they are mainly used as references. diff --git a/crates/katana/contracts/account_with_dummy_validate.cairo b/crates/katana/contracts/legacy/account_with_dummy_validate.cairo similarity index 100% rename from crates/katana/contracts/account_with_dummy_validate.cairo rename to crates/katana/contracts/legacy/account_with_dummy_validate.cairo diff --git a/crates/katana/contracts/legacy/erc20.cairo b/crates/katana/contracts/legacy/erc20.cairo new file mode 100644 index 0000000000..8be1004f32 --- /dev/null +++ b/crates/katana/contracts/legacy/erc20.cairo @@ -0,0 +1,136 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts for Cairo v0.6.0 + +%lang starknet + +from starkware.cairo.common.cairo_builtins import HashBuiltin +from starkware.cairo.common.uint256 import Uint256 + +from openzeppelin.token.erc20.library import ERC20 + +@constructor +func constructor{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + name: felt, symbol: felt, decimals: felt, initial_supply: Uint256, recipient: felt, owner: felt +) { + ERC20.initializer(name, symbol, decimals); + ERC20._mint(recipient, initial_supply); + return (); +} + +// +// Getters +// + +@view +func name{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (name: felt) { + return ERC20.name(); +} + +@view +func symbol{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> (symbol: felt) { + return ERC20.symbol(); +} + +@view +func totalSupply{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> ( + totalSupply: Uint256 +) { + let (totalSupply: Uint256) = ERC20.total_supply(); + return (totalSupply=totalSupply); +} + +@view +func total_supply{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> ( + total_supply: Uint256 +) { + return ERC20.total_supply(); +} + +@view +func decimals{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}() -> ( + decimals: felt +) { + return ERC20.decimals(); +} + +@view +func balanceOf{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> ( + balance: Uint256 +) { + return ERC20.balance_of(account); +} + +@view +func balance_of{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}(account: felt) -> ( + balance: Uint256 +) { + return ERC20.balance_of(account); +} + +@view +func allowance{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + owner: felt, spender: felt +) -> (remaining: Uint256) { + return ERC20.allowance(owner, spender); +} + + +// +// Externals +// + +@external +func transfer{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + recipient: felt, amount: Uint256 +) -> (success: felt) { + return ERC20.transfer(recipient, amount); +} + +@external +func transferFrom{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + sender: felt, recipient: felt, amount: Uint256 +) -> (success: felt) { + return ERC20.transfer_from(sender, recipient, amount); +} + +@external +func transfer_from{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + sender: felt, recipient: felt, amount: Uint256 +) -> (success: felt) { + return ERC20.transfer_from(sender, recipient, amount); +} + +@external +func approve{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + spender: felt, amount: Uint256 +) -> (success: felt) { + return ERC20.approve(spender, amount); +} + +@external +func increaseAllowance{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + spender: felt, added_value: Uint256 +) -> (success: felt) { + return ERC20.increase_allowance(spender, added_value); +} + +@external +func increase_allowance{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + spender: felt, added_value: Uint256 +) -> (success: felt) { + return ERC20.increase_allowance(spender, added_value); +} + +@external +func decreaseAllowance{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + spender: felt, subtracted_value: Uint256 +) -> (success: felt) { + return ERC20.decrease_allowance(spender, subtracted_value); +} + +@external +func decrease_allowance{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( + spender: felt, subtracted_value: Uint256 +) -> (success: felt) { + return ERC20.decrease_allowance(spender, subtracted_value); +} diff --git a/crates/katana/contracts/test_contract.cairo b/crates/katana/contracts/legacy/test_contract.cairo similarity index 100% rename from crates/katana/contracts/test_contract.cairo rename to crates/katana/contracts/legacy/test_contract.cairo diff --git a/crates/katana/contracts/universal_deployer.cairo b/crates/katana/contracts/legacy/universal_deployer.cairo similarity index 100% rename from crates/katana/contracts/universal_deployer.cairo rename to crates/katana/contracts/legacy/universal_deployer.cairo diff --git a/crates/katana/contracts/messaging/cairo/.tool-versions b/crates/katana/contracts/messaging/cairo/.tool-versions deleted file mode 100644 index 49edbb5364..0000000000 --- a/crates/katana/contracts/messaging/cairo/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -scarb 2.5.4 diff --git a/crates/katana/contracts/messaging/cairo/Makefile b/crates/katana/contracts/messaging/cairo/Makefile index afdff6a560..940427f6c3 100644 --- a/crates/katana/contracts/messaging/cairo/Makefile +++ b/crates/katana/contracts/messaging/cairo/Makefile @@ -1,5 +1,5 @@ ACCOUNT_L2=./account_l2.json -ACCOUNT_L2_ADDR=0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 +ACCOUNT_L2_ADDR=0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba L2_PRIVATE_KEY=0x1800000000300000180000000000030000000000003006001800006600 # Build files helpers. @@ -40,7 +40,7 @@ send_msg_struct_l1: # ** L2 <-> L3 ** # ACCOUNT_L3=./account_l3.json -ACCOUNT_L3_ADDR=0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 +ACCOUNT_L3_ADDR=0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba L3_PRIVATE_KEY=0x1800000000300000180000000000030000000000003006001800006600 L2_APPCHAIN_MSG_ADDR=0x0368407c4a0e075c693cf372dd735750df7289c6b5d06234615018456e658591 diff --git a/crates/katana/contracts/messaging/cairo/Scarb.toml b/crates/katana/contracts/messaging/cairo/Scarb.toml index d339966bb7..0a698c11ea 100644 --- a/crates/katana/contracts/messaging/cairo/Scarb.toml +++ b/crates/katana/contracts/messaging/cairo/Scarb.toml @@ -1,9 +1,9 @@ [package] name = "katana_messaging" -version = "0.1.0" +version.workspace = true [dependencies] -starknet = "2.3.1" +starknet.workspace = true [[target.starknet-contract]] sierra = true diff --git a/crates/katana/contracts/messaging/cairo/account_l2.json b/crates/katana/contracts/messaging/cairo/account_l2.json index db9480cf66..067767c664 100644 --- a/crates/katana/contracts/messaging/cairo/account_l2.json +++ b/crates/katana/contracts/messaging/cairo/account_l2.json @@ -9,6 +9,6 @@ "deployment": { "status": "deployed", "class_hash": "0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c", - "address": "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" + "address": "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" } } diff --git a/crates/katana/contracts/messaging/cairo/account_l3.json b/crates/katana/contracts/messaging/cairo/account_l3.json index db9480cf66..067767c664 100644 --- a/crates/katana/contracts/messaging/cairo/account_l3.json +++ b/crates/katana/contracts/messaging/cairo/account_l3.json @@ -9,6 +9,6 @@ "deployment": { "status": "deployed", "class_hash": "0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c", - "address": "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" + "address": "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" } } diff --git a/crates/katana/contracts/messaging/l3.messaging.json b/crates/katana/contracts/messaging/l3.messaging.json index 9c64d2018f..55a3c02a55 100644 --- a/crates/katana/contracts/messaging/l3.messaging.json +++ b/crates/katana/contracts/messaging/l3.messaging.json @@ -1,9 +1,9 @@ { - "chain": "starknet", - "rpc_url": "http://127.0.0.1:5050", - "contract_address": "0x0368407c4a0e075c693cf372dd735750df7289c6b5d06234615018456e658591", - "sender_address": "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03", - "private_key": "0x1800000000300000180000000000030000000000003006001800006600", - "interval": 2, - "from_block": 0 + "chain": "starknet", + "rpc_url": "http://127.0.0.1:5050", + "contract_address": "0x0368407c4a0e075c693cf372dd735750df7289c6b5d06234615018456e658591", + "sender_address": "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba", + "private_key": "0x1800000000300000180000000000030000000000003006001800006600", + "interval": 2, + "from_block": 0 } diff --git a/crates/katana/contracts/messaging/solidity/Makefile b/crates/katana/contracts/messaging/solidity/Makefile index 538d484913..f9d1d3f9a8 100644 --- a/crates/katana/contracts/messaging/solidity/Makefile +++ b/crates/katana/contracts/messaging/solidity/Makefile @@ -9,7 +9,7 @@ export $(shell sed 's/=.*//' .env) # Addresses fixed here for easy testing. C_MSG_L2_ADDR=0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 -L2_ACCOUNT=0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 +L2_ACCOUNT=0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba L2_CONTRACT_ADDR=0x609f8e7a76b6cc36f3ff86f09f6e5fdd0e6320f117d817e4344c1bf9fac7d67 deploy_messaging_contracts: diff --git a/crates/katana/contracts/snfoundry.toml b/crates/katana/contracts/snfoundry.toml new file mode 100644 index 0000000000..7d45ecda85 --- /dev/null +++ b/crates/katana/contracts/snfoundry.toml @@ -0,0 +1,9 @@ +# Visit https://foundry-rs.github.io/starknet-foundry/appendix/snfoundry-toml.html for more information + +# [sncast.myprofile1] # Define a profile name +# url = "http://127.0.0.1:5050/" # Url of the RPC provider +# accounts_file = "../account-file" # Path to the file with the account data +# account = "mainuser" # Account from `accounts_file` or default account file that will be used for the transactions +# keystore = "~/keystore" # Path to the keystore file +# wait_params = { timeout = 500, retry_interval = 10 } # Wait for submitted transaction parameters +# block_explorer = "StarkScan" # Block explorer service used to display links to transaction details diff --git a/crates/katana/controller/src/lib.rs b/crates/katana/controller/src/lib.rs index 4d85a216ac..182d7934cf 100644 --- a/crates/katana/controller/src/lib.rs +++ b/crates/katana/controller/src/lib.rs @@ -6,7 +6,7 @@ use async_trait::async_trait; use coset::CoseKey; use katana_primitives::contract::{ContractAddress, StorageKey, StorageValue}; use katana_primitives::genesis::allocation::{GenesisAllocation, GenesisContractAlloc}; -use katana_primitives::genesis::constant::CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH; +use katana_primitives::genesis::constant::CONTROLLER_CLASS_HASH; use katana_primitives::genesis::Genesis; use katana_primitives::Felt; use slot::account_sdk::signers::webauthn::{CredentialID, WebauthnBackend, WebauthnSigner}; @@ -27,12 +27,16 @@ pub fn add_controller_account(genesis: &mut Genesis) -> Result<()> { add_controller_account_inner(genesis, credentials.account) } -fn add_controller_account_inner(genesis: &mut Genesis, user: slot::account::Account) -> Result<()> { - let cred = user.credentials.webauthn.first().unwrap(); +fn add_controller_account_inner( + genesis: &mut Genesis, + user: slot::account::AccountInfo, +) -> Result<()> { + let cred = user.credentials.first().unwrap(); + let contract_address = user.controllers.first().unwrap().address; trace!( username = user.id, - address = format!("{:#x}", user.contract_address), + address = format!("{:#x}", contract_address), "Adding Cartridge Controller account to genesis." ); @@ -43,12 +47,11 @@ fn add_controller_account_inner(genesis: &mut Genesis, user: slot::account::Acco let account = GenesisContractAlloc { nonce: None, balance: Some(U256::from(0xfffffffffffffffu128)), - class_hash: Some(CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH), + class_hash: Some(CONTROLLER_CLASS_HASH), storage: Some(get_contract_storage(credential_id, public_key)?), }; - let address = - ContractAddress::from(Felt::from_bytes_be(&user.contract_address.to_bytes_be())); + let address = ContractAddress::from(contract_address); (address, GenesisAllocation::Contract(account)) }; @@ -57,7 +60,7 @@ fn add_controller_account_inner(genesis: &mut Genesis, user: slot::account::Acco trace!( username = user.id, - address = format!("{:#x}", user.contract_address), + address = format!("{:#x}", contract_address), "Cartridge Controller account added to genesis." ); @@ -74,7 +77,7 @@ pub mod json { use super::*; const CONTROLLER_SIERRA_ARTIFACT: &str = - include_str!("../../contracts/compiled/controller_CartridgeAccount.contract_class.json"); + include_str!("../../contracts/build/controller_CartridgeAccount.contract_class.json"); const CONTROLLER_CLASS_NAME: &str = "controller"; // TODO(kariy): should accept the whole account struct instead of individual fields @@ -82,7 +85,8 @@ pub mod json { pub fn add_controller_account_json(genesis: &mut GenesisJson) -> Result<()> { // bouncer that checks if there is an authenticated slot user let user = Credentials::load()?; - let cred = user.account.credentials.webauthn.first().unwrap(); + let cred = user.account.credentials.first().unwrap(); + let contract_address = user.account.controllers.first().unwrap().address; let credential_id = webauthn::credential::from_base64(&cred.id)?; let public_key = webauthn::cose_key::from_base64(&cred.public_key)?; @@ -97,9 +101,7 @@ pub mod json { storage: Some(get_contract_storage(credential_id, public_key)?), }; - let address = ContractAddress::from(Felt::from_bytes_be( - &user.account.contract_address.to_bytes_be(), - )); + let address = ContractAddress::from(contract_address); (address, account) }; @@ -193,8 +195,9 @@ fn get_contract_storage( #[cfg(test)] mod tests { + use assert_matches::assert_matches; - use slot::account::WebAuthnCredential; + use slot::account::{Controller, ControllerSigner, SignerType, WebAuthnCredential}; use starknet::macros::felt; use super::*; @@ -219,26 +222,31 @@ mod tests { fn test_add_controller_account() { let mut genesis = Genesis::default(); - let account = slot::account::Account { + let account = slot::account::AccountInfo { id: "johnsmith".to_string(), name: None, - contract_address: CONTROLLER_ADDRESS, - credentials: slot::account::AccountCredentials { - webauthn: vec![WebAuthnCredential { - id: WEBAUTHN_CREDENTIAL_ID.to_string(), - public_key: WEBAUTHN_PUBLIC_KEY.to_string(), + controllers: vec![Controller { + id: "controller1".to_string(), + address: CONTROLLER_ADDRESS, + signers: vec![ControllerSigner { + id: "signer1".to_string(), + r#type: SignerType::WebAuthn, }], - }, + }], + credentials: vec![WebAuthnCredential { + id: WEBAUTHN_CREDENTIAL_ID.to_string(), + public_key: WEBAUTHN_PUBLIC_KEY.to_string(), + }], }; add_controller_account_inner(&mut genesis, account.clone()).unwrap(); - let address = ContractAddress::from(account.contract_address); + let address = ContractAddress::from(account.controllers[0].address); let allocation = genesis.allocations.get(&address).unwrap(); assert!(genesis.allocations.contains_key(&address)); assert_eq!(allocation.balance(), Some(U256::from(0xfffffffffffffffu128))); - assert_eq!(allocation.class_hash(), Some(CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH)); + assert_eq!(allocation.class_hash(), Some(CONTROLLER_CLASS_HASH)); // Check the owner storage value assert_matches!(allocation, GenesisAllocation::Contract(contract) => { diff --git a/crates/katana/core/Cargo.toml b/crates/katana/core/Cargo.toml index dcc1e5bb24..ae9cd35dd3 100644 --- a/crates/katana/core/Cargo.toml +++ b/crates/katana/core/Cargo.toml @@ -15,7 +15,7 @@ katana-provider.workspace = true katana-tasks.workspace = true anyhow.workspace = true -async-trait = { workspace = true, optional = true } +async-trait.workspace = true derive_more.workspace = true dojo-metrics.workspace = true futures.workspace = true @@ -23,9 +23,9 @@ lazy_static.workspace = true metrics.workspace = true num-traits.workspace = true parking_lot.workspace = true -reqwest = { workspace = true, optional = true } -serde = { workspace = true, optional = true } -serde_json = { workspace = true, optional = true } +reqwest.workspace = true +serde.workspace = true +serde_json.workspace = true starknet.workspace = true thiserror.workspace = true tokio.workspace = true @@ -33,13 +33,13 @@ tracing.workspace = true url.workspace = true alloy-primitives = { workspace = true, features = [ "serde" ] } -alloy-sol-types = { workspace = true, default-features = false, features = [ "json" ], optional = true } +alloy-sol-types = { workspace = true, default-features = false, features = [ "json" ] } -alloy-contract = { workspace = true, default-features = false, optional = true } -alloy-network = { workspace = true, default-features = false, optional = true } -alloy-provider = { workspace = true, default-features = false, optional = true, features = [ "reqwest" ] } -alloy-rpc-types-eth = { workspace = true, default-features = false, optional = true } -alloy-transport = { workspace = true, default-features = false, optional = true } +alloy-contract = { workspace = true, default-features = false } +alloy-network = { workspace = true, default-features = false } +alloy-provider = { workspace = true, default-features = false, features = [ "reqwest" ] } +alloy-rpc-types-eth = { workspace = true, default-features = false } +alloy-transport = { workspace = true, default-features = false } [dev-dependencies] assert_matches.workspace = true @@ -47,16 +47,4 @@ hex.workspace = true tempfile.workspace = true [features] -messaging = [ - "alloy-contract", - "alloy-network", - "alloy-provider", - "alloy-rpc-types-eth", - "alloy-sol-types", - "alloy-transport", - "async-trait", - "reqwest", - "serde", - "serde_json", -] starknet-messaging = [ ] diff --git a/crates/katana/core/src/backend/config.rs b/crates/katana/core/src/backend/config.rs index e1c4773c1f..b4c2922d89 100644 --- a/crates/katana/core/src/backend/config.rs +++ b/crates/katana/core/src/backend/config.rs @@ -1,24 +1,9 @@ -use std::path::PathBuf; - -use alloy_primitives::U256; -use katana_primitives::chain::ChainId; -use katana_primitives::genesis::allocation::DevAllocationsGenerator; -use katana_primitives::genesis::constant::DEFAULT_PREFUNDED_ACCOUNT_BALANCE; -use katana_primitives::genesis::Genesis; -use url::Url; - use crate::constants::{DEFAULT_INVOKE_MAX_STEPS, DEFAULT_VALIDATE_MAX_STEPS}; use crate::env::BlockContextGenerator; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct StarknetConfig { - pub disable_fee: bool, pub env: Environment, - pub fork_rpc_url: Option, - pub fork_block_number: Option, - pub disable_validate: bool, - pub db_dir: Option, - pub genesis: Genesis, } impl StarknetConfig { @@ -27,30 +12,9 @@ impl StarknetConfig { } } -impl Default for StarknetConfig { - fn default() -> Self { - let accounts = DevAllocationsGenerator::new(10) - .with_balance(U256::from(DEFAULT_PREFUNDED_ACCOUNT_BALANCE)) - .generate(); - - let mut genesis = Genesis::default(); - genesis.extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into()))); - - Self { - disable_fee: false, - fork_rpc_url: None, - fork_block_number: None, - env: Environment::default(), - disable_validate: false, - db_dir: None, - genesis, - } - } -} - +// TODO: i think block limits should be included in chain spec #[derive(Debug, Clone)] pub struct Environment { - pub chain_id: ChainId, pub invoke_max_steps: u32, pub validate_max_steps: u32, } @@ -58,7 +22,6 @@ pub struct Environment { impl Default for Environment { fn default() -> Self { Self { - chain_id: ChainId::parse("KATANA").unwrap(), invoke_max_steps: DEFAULT_INVOKE_MAX_STEPS, validate_max_steps: DEFAULT_VALIDATE_MAX_STEPS, } diff --git a/crates/katana/core/src/backend/mod.rs b/crates/katana/core/src/backend/mod.rs index e8352d42b5..0287887f93 100644 --- a/crates/katana/core/src/backend/mod.rs +++ b/crates/katana/core/src/backend/mod.rs @@ -4,21 +4,14 @@ use katana_executor::{ExecutionOutput, ExecutionResult, ExecutorFactory}; use katana_primitives::block::{ Block, FinalityStatus, GasPrices, Header, PartialHeader, SealedBlockWithStatus, }; -use katana_primitives::chain::ChainId; +use katana_primitives::chain_spec::ChainSpec; +use katana_primitives::da::L1DataAvailabilityMode; use katana_primitives::env::BlockEnv; use katana_primitives::transaction::TxHash; -use katana_primitives::version::CURRENT_STARKNET_VERSION; use katana_primitives::Felt; -use katana_provider::providers::fork::ForkedProvider; -use katana_provider::providers::in_memory::InMemoryProvider; use katana_provider::traits::block::{BlockHashProvider, BlockWriter}; -use num_traits::ToPrimitive; use parking_lot::RwLock; -use starknet::core::types::{BlockId, BlockStatus, MaybePendingBlockWithTxHashes}; -use starknet::core::utils::parse_cairo_short_string; -use starknet::providers::jsonrpc::HttpTransport; -use starknet::providers::{JsonRpcClient, Provider}; -use tracing::{info, trace}; +use tracing::info; pub mod config; pub mod contract; @@ -35,12 +28,11 @@ pub(crate) const LOG_TARGET: &str = "katana::core::backend"; #[derive(Debug)] pub struct Backend { /// The config used to generate the backend. - #[deprecated] pub config: StarknetConfig, + + pub chain_spec: ChainSpec, /// stores all block related data in memory pub blockchain: Blockchain, - /// The chain id. - pub chain_id: ChainId, /// The block context generator. pub block_context_generator: RwLock, @@ -48,79 +40,6 @@ pub struct Backend { } impl Backend { - #[allow(deprecated, unused)] - pub(crate) async fn new(executor_factory: Arc, mut config: StarknetConfig) -> Self { - let block_context_generator = config.block_context_generator(); - - let blockchain: Blockchain = if let Some(forked_url) = &config.fork_rpc_url { - let provider = Arc::new(JsonRpcClient::new(HttpTransport::new(forked_url.clone()))); - let forked_chain_id = provider.chain_id().await.unwrap(); - - let forked_block_num = if let Some(num) = config.fork_block_number { - num - } else { - provider - .block_number() - .await - .expect("failed to fetch block number from forked network") - }; - - let block = - provider.get_block_with_tx_hashes(BlockId::Number(forked_block_num)).await.unwrap(); - let MaybePendingBlockWithTxHashes::Block(block) = block else { - panic!("block to be forked is a pending block") - }; - - // adjust the genesis to match the forked block - config.genesis.number = block.block_number; - config.genesis.state_root = block.new_root; - config.genesis.parent_hash = block.parent_hash; - config.genesis.timestamp = block.timestamp; - config.genesis.sequencer_address = block.sequencer_address.into(); - config.genesis.gas_prices.eth = - block.l1_gas_price.price_in_wei.to_u128().expect("should fit in u128"); - config.genesis.gas_prices.strk = - block.l1_gas_price.price_in_fri.to_u128().expect("should fit in u128"); - - trace!( - target: LOG_TARGET, - chain = %parse_cairo_short_string(&forked_chain_id).unwrap(), - block_number = %block.block_number, - forked_url = %forked_url, - "Forking chain.", - ); - - let blockchain = Blockchain::new_from_forked( - ForkedProvider::new(provider, forked_block_num.into()).unwrap(), - block.block_hash, - &config.genesis, - match block.status { - BlockStatus::AcceptedOnL1 => FinalityStatus::AcceptedOnL1, - BlockStatus::AcceptedOnL2 => FinalityStatus::AcceptedOnL2, - _ => panic!("unable to fork for non-accepted block"), - }, - ) - .expect("able to create forked blockchain"); - - config.env.chain_id = forked_chain_id.into(); - blockchain - } else if let Some(db_path) = &config.db_dir { - let db = katana_db::init_db(db_path).expect("failed to initialize db"); - Blockchain::new_with_db(db, &config.genesis).expect("able to create blockchain from db") - } else { - Blockchain::new_with_genesis(InMemoryProvider::new(), &config.genesis) - .expect("able to create blockchain from genesis block") - }; - - Self { - chain_id: config.env.chain_id, - blockchain, - config, - executor_factory, - block_context_generator: RwLock::new(block_context_generator), - } - } - pub fn do_mine_block( &self, block_env: &BlockEnv, @@ -147,13 +66,18 @@ impl Backend { let partial_header = PartialHeader { number: block_number, parent_hash: prev_hash, - version: CURRENT_STARKNET_VERSION, + version: self.chain_spec.version.clone(), timestamp: block_env.timestamp, sequencer_address: block_env.sequencer_address, - gas_prices: GasPrices { + l1_da_mode: L1DataAvailabilityMode::Calldata, + l1_gas_prices: GasPrices { eth: block_env.l1_gas_prices.eth, strk: block_env.l1_gas_prices.strk, }, + l1_data_gas_prices: GasPrices { + eth: block_env.l1_data_gas_prices.eth, + strk: block_env.l1_data_gas_prices.strk, + }, }; let tx_hashes = txs.iter().map(|tx| tx.hash).collect::>(); @@ -203,79 +127,3 @@ impl Backend { self.do_mine_block(block_env, Default::default()) } } - -#[cfg(test)] -mod tests { - - use std::sync::Arc; - - use katana_executor::implementation::noop::NoopExecutorFactory; - use katana_primitives::genesis::Genesis; - use katana_provider::traits::block::{BlockNumberProvider, BlockProvider}; - use katana_provider::traits::env::BlockEnvProvider; - - use super::Backend; - use crate::backend::config::{Environment, StarknetConfig}; - - fn create_test_starknet_config() -> StarknetConfig { - let mut genesis = Genesis::default(); - genesis.gas_prices.eth = 2100; - genesis.gas_prices.strk = 3100; - - StarknetConfig { - genesis, - disable_fee: true, - env: Environment::default(), - ..Default::default() - } - } - - async fn create_test_backend() -> Backend { - Backend::new(Arc::new(NoopExecutorFactory::default()), create_test_starknet_config()).await - } - - #[tokio::test] - async fn test_creating_blocks() { - let backend = create_test_backend().await; - let provider = backend.blockchain.provider(); - - let block_num = provider.latest_number().unwrap(); - let block_env = provider.block_env_at(block_num.into()).unwrap().unwrap(); - - assert_eq!(block_num, 0); - assert_eq!(block_env.number, 0); - assert_eq!(block_env.l1_gas_prices.eth, 2100); - assert_eq!(block_env.l1_gas_prices.strk, 3100); - - let mut block_env = provider.block_env_at(block_num.into()).unwrap().unwrap(); - backend.update_block_env(&mut block_env); - backend.mine_empty_block(&block_env).unwrap(); - - let block_num = provider.latest_number().unwrap(); - assert_eq!(block_num, 1); - assert_eq!(block_env.number, 1); - assert_eq!(block_env.l1_gas_prices.eth, 2100); - assert_eq!(block_env.l1_gas_prices.strk, 3100); - - let mut block_env = provider.block_env_at(block_num.into()).unwrap().unwrap(); - backend.update_block_env(&mut block_env); - backend.mine_empty_block(&block_env).unwrap(); - - let block_num = provider.latest_number().unwrap(); - let block_env = provider.block_env_at(block_num.into()).unwrap().unwrap(); - - let block_num = provider.latest_number().unwrap(); - assert_eq!(block_num, 2); - assert_eq!(block_env.number, 2); - assert_eq!(block_env.l1_gas_prices.eth, 2100); - assert_eq!(block_env.l1_gas_prices.strk, 3100); - - let block0 = BlockProvider::block_by_number(provider, 0).unwrap().unwrap(); - let block1 = BlockProvider::block_by_number(provider, 1).unwrap().unwrap(); - let block2 = BlockProvider::block_by_number(provider, 2).unwrap().unwrap(); - - assert_eq!(block0.header.number, 0); - assert_eq!(block1.header.number, 1); - assert_eq!(block2.header.number, 2); - } -} diff --git a/crates/katana/core/src/backend/storage.rs b/crates/katana/core/src/backend/storage.rs index 9264cf4043..9781135fdd 100644 --- a/crates/katana/core/src/backend/storage.rs +++ b/crates/katana/core/src/backend/storage.rs @@ -1,9 +1,15 @@ -use anyhow::{anyhow, Result}; +use std::sync::Arc; + +use anyhow::{anyhow, bail, Context, Result}; use katana_db::mdbx::DbEnv; -use katana_primitives::block::{BlockHash, FinalityStatus, SealedBlockWithStatus}; -use katana_primitives::genesis::Genesis; +use katana_primitives::block::{ + BlockHashOrNumber, BlockIdOrTag, FinalityStatus, SealedBlockWithStatus, +}; +use katana_primitives::chain_spec::ChainSpec; use katana_primitives::state::StateUpdatesWithDeclaredClasses; +use katana_primitives::version::ProtocolVersion; use katana_provider::providers::db::DbProvider; +use katana_provider::providers::fork::ForkedProvider; use katana_provider::traits::block::{BlockProvider, BlockWriter}; use katana_provider::traits::contract::ContractClassWriter; use katana_provider::traits::env::BlockEnvProvider; @@ -14,6 +20,13 @@ use katana_provider::traits::transaction::{ TransactionsProviderExt, }; use katana_provider::BlockchainProvider; +use num_traits::ToPrimitive; +use starknet::core::types::{BlockStatus, MaybePendingBlockWithTxHashes}; +use starknet::core::utils::parse_cairo_short_string; +use starknet::providers::jsonrpc::HttpTransport; +use starknet::providers::{JsonRpcClient, Provider}; +use tracing::info; +use url::Url; pub trait Database: BlockProvider @@ -68,13 +81,13 @@ impl Blockchain { } /// Creates a new [Blockchain] with the given [Database] implementation and genesis state. - pub fn new_with_genesis(provider: impl Database, genesis: &Genesis) -> Result { + pub fn new_with_chain(provider: impl Database, chain: &ChainSpec) -> Result { // check whether the genesis block has been initialized - let genesis_hash = provider.block_hash_by_num(genesis.number)?; + let genesis_hash = provider.block_hash_by_num(chain.genesis.number)?; match genesis_hash { Some(db_hash) => { - let genesis_hash = genesis.block().header.compute_hash(); + let genesis_hash = chain.block().header.compute_hash(); // check genesis should be the same if db_hash == genesis_hash { Ok(Self::new(provider)) @@ -86,37 +99,102 @@ impl Blockchain { } None => { - let block = genesis.block().seal(); + let block = chain.block().seal(); let block = SealedBlockWithStatus { block, status: FinalityStatus::AcceptedOnL1 }; - let state_updates = genesis.state_updates(); + let state_updates = chain.state_updates(); - Self::new_with_block_and_state(provider, block, state_updates) + Self::new_with_genesis_block_and_state(provider, block, state_updates) } } } /// Creates a new [Blockchain] from a database at `path` and `genesis` state. - pub fn new_with_db(db: DbEnv, genesis: &Genesis) -> Result { - Self::new_with_genesis(DbProvider::new(db), genesis) + pub fn new_with_db(db: DbEnv, chain: &ChainSpec) -> Result { + Self::new_with_chain(DbProvider::new(db), chain) } /// Builds a new blockchain with a forked block. - pub fn new_from_forked( - provider: impl Database, - genesis_hash: BlockHash, - genesis: &Genesis, - block_status: FinalityStatus, + pub async fn new_from_forked( + fork_url: Url, + fork_block: Option, + chain: &mut ChainSpec, ) -> Result { - let block = genesis.block().seal_with_hash_and_status(genesis_hash, block_status); - let state_updates = genesis.state_updates(); - Self::new_with_block_and_state(provider, block, state_updates) + let provider = JsonRpcClient::new(HttpTransport::new(fork_url)); + let chain_id = provider.chain_id().await.context("failed to fetch forked network id")?; + + // if the id is not in ASCII encoding, we display the chain id as is in hex. + let parsed_id = match parse_cairo_short_string(&chain_id) { + Ok(id) => id, + Err(_) => format!("{chain_id:#x}"), + }; + + // If the fork block number is not specified, we use the latest accepted block on the forked + // network. + let block_id = if let Some(id) = fork_block { + id + } else { + let num = provider.block_number().await?; + BlockHashOrNumber::Num(num) + }; + + info!(chain = %parsed_id, block = %block_id, "Forking chain."); + + let block = provider + .get_block_with_tx_hashes(BlockIdOrTag::from(block_id)) + .await + .context("failed to fetch forked block")?; + + let MaybePendingBlockWithTxHashes::Block(forked_block) = block else { + bail!("forking a pending block is not allowed") + }; + + chain.id = chain_id.into(); + chain.version = ProtocolVersion::parse(&forked_block.starknet_version)?; + + // adjust the genesis to match the forked block + chain.genesis.timestamp = forked_block.timestamp; + chain.genesis.number = forked_block.block_number; + chain.genesis.state_root = forked_block.new_root; + chain.genesis.parent_hash = forked_block.parent_hash; + chain.genesis.sequencer_address = forked_block.sequencer_address.into(); + + // TODO: remove gas price from genesis + chain.genesis.gas_prices.eth = + forked_block.l1_gas_price.price_in_wei.to_u128().expect("should fit in u128"); + chain.genesis.gas_prices.strk = + forked_block.l1_gas_price.price_in_fri.to_u128().expect("should fit in u128"); + + let status = match forked_block.status { + BlockStatus::AcceptedOnL1 => FinalityStatus::AcceptedOnL1, + BlockStatus::AcceptedOnL2 => FinalityStatus::AcceptedOnL2, + // we already checked for pending block earlier. so this should never happen. + _ => bail!("qed; block status shouldn't be pending"), + }; + + let database = ForkedProvider::new(Arc::new(provider), block_id)?; + + // update the genesis block with the forked block's data + // we dont update the `l1_gas_price` bcs its already done when we set the `gas_prices` in + // genesis. this flow is kinda flawed, we should probably refactor it out of the + // genesis. + let mut block = chain.block(); + block.header.l1_data_gas_prices.eth = + forked_block.l1_data_gas_price.price_in_wei.to_u128().expect("should fit in u128"); + block.header.l1_data_gas_prices.strk = + forked_block.l1_data_gas_price.price_in_fri.to_u128().expect("should fit in u128"); + block.header.l1_da_mode = forked_block.l1_da_mode; + + let block = block.seal_with_hash_and_status(forked_block.block_hash, status); + let state_updates = chain.state_updates(); + + Self::new_with_genesis_block_and_state(database, block, state_updates) } pub fn provider(&self) -> &BlockchainProvider> { &self.inner } - fn new_with_block_and_state( + fn new_with_genesis_block_and_state( provider: impl Database, block: SealedBlockWithStatus, states: StateUpdatesWithDeclaredClasses, @@ -137,22 +215,20 @@ mod tests { use katana_primitives::block::{ Block, FinalityStatus, GasPrices, Header, SealedBlockWithStatus, }; + use katana_primitives::da::L1DataAvailabilityMode; use katana_primitives::fee::TxFeeInfo; use katana_primitives::genesis::constant::{ - DEFAULT_FEE_TOKEN_ADDRESS, DEFAULT_LEGACY_ERC20_CONTRACT_CASM, - DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, DEFAULT_LEGACY_UDC_CASM, - DEFAULT_LEGACY_UDC_CLASS_HASH, DEFAULT_UDC_ADDRESS, + DEFAULT_ETH_FEE_TOKEN_ADDRESS, DEFAULT_LEGACY_ERC20_CASM, DEFAULT_LEGACY_ERC20_CLASS_HASH, + DEFAULT_LEGACY_UDC_CASM, DEFAULT_LEGACY_UDC_CLASS_HASH, DEFAULT_UDC_ADDRESS, }; - use katana_primitives::genesis::Genesis; use katana_primitives::receipt::{InvokeTxReceipt, Receipt}; use katana_primitives::state::StateUpdatesWithDeclaredClasses; use katana_primitives::trace::TxExecInfo; use katana_primitives::transaction::{InvokeTx, Tx, TxWithHash}; - use katana_primitives::Felt; + use katana_primitives::{chain_spec, Felt}; use katana_provider::providers::in_memory::InMemoryProvider; use katana_provider::traits::block::{ - BlockHashProvider, BlockNumberProvider, BlockProvider, BlockStatusProvider, BlockWriter, - HeaderProvider, + BlockHashProvider, BlockNumberProvider, BlockProvider, BlockWriter, }; use katana_provider::traits::state::StateFactoryProvider; use katana_provider::traits::transaction::{TransactionProvider, TransactionTraceProvider}; @@ -165,59 +241,18 @@ mod tests { fn blockchain_from_genesis_states() { let provider = InMemoryProvider::new(); - let blockchain = Blockchain::new_with_genesis(provider, &Genesis::default()) + let blockchain = Blockchain::new_with_chain(provider, &chain_spec::DEV) .expect("failed to create blockchain from genesis block"); let state = blockchain.provider().latest().expect("failed to get latest state"); let latest_number = blockchain.provider().latest_number().unwrap(); let fee_token_class_hash = - state.class_hash_of_contract(DEFAULT_FEE_TOKEN_ADDRESS).unwrap().unwrap(); + state.class_hash_of_contract(DEFAULT_ETH_FEE_TOKEN_ADDRESS).unwrap().unwrap(); let udc_class_hash = state.class_hash_of_contract(DEFAULT_UDC_ADDRESS).unwrap().unwrap(); assert_eq!(latest_number, 0); assert_eq!(udc_class_hash, DEFAULT_LEGACY_UDC_CLASS_HASH); - assert_eq!(fee_token_class_hash, DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH); - } - - #[test] - fn blockchain_from_fork() { - let provider = InMemoryProvider::new(); - - let genesis = Genesis { - number: 23, - parent_hash: Felt::ZERO, - state_root: felt!("1334"), - timestamp: 6868, - gas_prices: GasPrices { eth: 9090, strk: 8080 }, - ..Default::default() - }; - - let genesis_hash = felt!("1111"); - - let blockchain = Blockchain::new_from_forked( - provider, - genesis_hash, - &genesis, - FinalityStatus::AcceptedOnL1, - ) - .expect("failed to create fork blockchain"); - - let latest_number = blockchain.provider().latest_number().unwrap(); - let latest_hash = blockchain.provider().latest_hash().unwrap(); - let header = blockchain.provider().header(latest_number.into()).unwrap().unwrap(); - let block_status = - blockchain.provider().block_status(latest_number.into()).unwrap().unwrap(); - - assert_eq!(latest_number, genesis.number); - assert_eq!(latest_hash, genesis_hash); - - assert_eq!(header.gas_prices.eth, 9090); - assert_eq!(header.gas_prices.strk, 8080); - assert_eq!(header.timestamp, 6868); - assert_eq!(header.number, latest_number); - assert_eq!(header.state_root, genesis.state_root); - assert_eq!(header.parent_hash, genesis.parent_hash); - assert_eq!(block_status, FinalityStatus::AcceptedOnL1); + assert_eq!(fee_token_class_hash, DEFAULT_LEGACY_ERC20_CLASS_HASH); } #[test] @@ -235,7 +270,9 @@ mod tests { header: Header { parent_hash: Felt::ZERO, number: 1, - gas_prices: GasPrices::default(), + l1_gas_prices: GasPrices::default(), + l1_data_gas_prices: GasPrices::default(), + l1_da_mode: L1DataAvailabilityMode::Calldata, timestamp: 123456, ..Default::default() }, @@ -244,11 +281,9 @@ mod tests { .seal(), }; - let genesis = Genesis::default(); - { let db = katana_db::init_db(&db_path).expect("Failed to init database"); - let blockchain = Blockchain::new_with_db(db, &genesis) + let blockchain = Blockchain::new_with_db(db, &chain_spec::DEV) .expect("Failed to create db-backed blockchain storage"); blockchain @@ -281,21 +316,21 @@ mod tests { let actual_udc_class = state.class(actual_udc_class_hash).unwrap().unwrap(); let actual_fee_token_class_hash = - state.class_hash_of_contract(DEFAULT_FEE_TOKEN_ADDRESS).unwrap().unwrap(); + state.class_hash_of_contract(DEFAULT_ETH_FEE_TOKEN_ADDRESS).unwrap().unwrap(); let actual_fee_token_class = state.class(actual_fee_token_class_hash).unwrap().unwrap(); assert_eq!(actual_udc_class_hash, DEFAULT_LEGACY_UDC_CLASS_HASH); assert_eq!(actual_udc_class, DEFAULT_LEGACY_UDC_CASM.clone()); - assert_eq!(actual_fee_token_class_hash, DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH); - assert_eq!(actual_fee_token_class, DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()); + assert_eq!(actual_fee_token_class_hash, DEFAULT_LEGACY_ERC20_CLASS_HASH); + assert_eq!(actual_fee_token_class, DEFAULT_LEGACY_ERC20_CASM.clone()); } // re open the db and assert the state is the same and not overwritten { let db = katana_db::init_db(db_path).expect("Failed to init database"); - let blockchain = Blockchain::new_with_db(db, &genesis) + let blockchain = Blockchain::new_with_db(db, &chain_spec::DEV) .expect("Failed to create db-backed blockchain storage"); // assert genesis state is correct @@ -307,14 +342,14 @@ mod tests { let actual_udc_class = state.class(actual_udc_class_hash).unwrap().unwrap(); let actual_fee_token_class_hash = - state.class_hash_of_contract(DEFAULT_FEE_TOKEN_ADDRESS).unwrap().unwrap(); + state.class_hash_of_contract(DEFAULT_ETH_FEE_TOKEN_ADDRESS).unwrap().unwrap(); let actual_fee_token_class = state.class(actual_fee_token_class_hash).unwrap().unwrap(); assert_eq!(actual_udc_class_hash, DEFAULT_LEGACY_UDC_CLASS_HASH); assert_eq!(actual_udc_class, DEFAULT_LEGACY_UDC_CASM.clone()); - assert_eq!(actual_fee_token_class_hash, DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH); - assert_eq!(actual_fee_token_class, DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()); + assert_eq!(actual_fee_token_class_hash, DEFAULT_LEGACY_ERC20_CLASS_HASH); + assert_eq!(actual_fee_token_class, DEFAULT_LEGACY_ERC20_CASM.clone()); let block_number = blockchain.provider().latest_number().unwrap(); let block_hash = blockchain.provider().latest_hash().unwrap(); diff --git a/crates/katana/core/src/lib.rs b/crates/katana/core/src/lib.rs index 9f4879f206..4b06b6aa38 100644 --- a/crates/katana/core/src/lib.rs +++ b/crates/katana/core/src/lib.rs @@ -3,6 +3,5 @@ pub mod backend; pub mod constants; pub mod env; -pub mod sequencer; pub mod service; pub mod utils; diff --git a/crates/katana/core/src/sequencer.rs b/crates/katana/core/src/sequencer.rs deleted file mode 100644 index e1f2f98a3a..0000000000 --- a/crates/katana/core/src/sequencer.rs +++ /dev/null @@ -1,10 +0,0 @@ -// TODO: just a placeholder for now, remove until we have a dedicated class for building node -// components -#[deprecated = "In the process of removal"] -#[derive(Debug, Default)] -pub struct SequencerConfig { - pub block_time: Option, - pub no_mining: bool, - #[cfg(feature = "messaging")] - pub messaging: Option, -} diff --git a/crates/katana/core/src/service/block_producer.rs b/crates/katana/core/src/service/block_producer.rs index 618d0f2c03..aa08a3937c 100644 --- a/crates/katana/core/src/service/block_producer.rs +++ b/crates/katana/core/src/service/block_producer.rs @@ -11,10 +11,10 @@ use futures::FutureExt; use katana_executor::{BlockExecutor, ExecutionResult, ExecutionStats, ExecutorFactory}; use katana_pool::validation::stateful::TxValidator; use katana_primitives::block::{BlockHashOrNumber, ExecutableBlock, PartialHeader}; +use katana_primitives::da::L1DataAvailabilityMode; use katana_primitives::receipt::Receipt; use katana_primitives::trace::TxExecInfo; use katana_primitives::transaction::{ExecutableTxWithHash, TxHash, TxWithHash}; -use katana_primitives::version::CURRENT_STARKNET_VERSION; use katana_provider::error::ProviderError; use katana_provider::traits::block::{BlockHashProvider, BlockNumberProvider}; use katana_provider::traits::env::BlockEnvProvider; @@ -74,28 +74,31 @@ type BlockProductionWithTxnsFuture = #[allow(missing_debug_implementations)] pub struct BlockProducer { /// The inner mode of mining. - pub producer: RwLock>, + pub producer: Arc>>, } impl BlockProducer { /// Creates a block producer that mines a new block every `interval` milliseconds. pub fn interval(backend: Arc>, interval: u64) -> Self { - let prod = IntervalBlockProducer::new(backend, Some(interval)); - Self { producer: BlockProducerMode::Interval(prod).into() } + let producer = IntervalBlockProducer::new(backend, Some(interval)); + let producer = Arc::new(RwLock::new(BlockProducerMode::Interval(producer))); + Self { producer } } /// Creates a new block producer that will only be possible to mine by calling the /// `katana_generateBlock` RPC method. pub fn on_demand(backend: Arc>) -> Self { - let prod = IntervalBlockProducer::new(backend, None); - Self { producer: BlockProducerMode::Interval(prod).into() } + let producer = IntervalBlockProducer::new(backend, None); + let producer = Arc::new(RwLock::new(BlockProducerMode::Interval(producer))); + Self { producer } } /// Creates a block producer that mines a new block as soon as there are ready transactions in /// the transactions pool. pub fn instant(backend: Arc>) -> Self { - let prod = InstantBlockProducer::new(backend); - Self { producer: BlockProducerMode::Instant(prod).into() } + let producer = InstantBlockProducer::new(backend); + let producer = Arc::new(RwLock::new(BlockProducerMode::Instant(producer))); + Self { producer } } pub(super) fn queue(&self, transactions: Vec) { @@ -143,6 +146,12 @@ impl BlockProducer { } } +impl Clone for BlockProducer { + fn clone(&self) -> Self { + BlockProducer { producer: self.producer.clone() } + } +} + /// The inner type of [BlockProducer]. /// /// On _interval_ mining, a new block is opened for a fixed amount of interval. Within this @@ -555,6 +564,8 @@ impl InstantBlockProducer { let provider = backend.blockchain.provider(); + // TODO: don't use the previous block env, we should create on based on the current state of + // the l1 (to determine the proper gas prices) let latest_num = provider.latest_number()?; let mut block_env = provider.block_env_at(BlockHashOrNumber::Num(latest_num))?.unwrap(); backend.update_block_env(&mut block_env); @@ -570,9 +581,11 @@ impl InstantBlockProducer { parent_hash, number: block_env.number, timestamp: block_env.timestamp, - gas_prices: block_env.l1_gas_prices.clone(), + version: backend.chain_spec.version.clone(), sequencer_address: block_env.sequencer_address, - version: CURRENT_STARKNET_VERSION, + l1_da_mode: L1DataAvailabilityMode::Calldata, + l1_gas_prices: block_env.l1_gas_prices.clone(), + l1_data_gas_prices: block_env.l1_data_gas_prices.clone(), }, }; diff --git a/crates/katana/core/src/service/messaging/service.rs b/crates/katana/core/src/service/messaging/service.rs index df7bc6f8a7..46d2379ce0 100644 --- a/crates/katana/core/src/service/messaging/service.rs +++ b/crates/katana/core/src/service/messaging/service.rs @@ -85,7 +85,7 @@ impl MessagingService { match messenger.as_ref() { MessengerMode::Ethereum(inner) => { let (block_num, txs) = - inner.gather_messages(from_block, max_block, backend.chain_id).await?; + inner.gather_messages(from_block, max_block, backend.chain_spec.id).await?; let txs_count = txs.len(); txs.into_iter().for_each(|tx| { @@ -103,7 +103,7 @@ impl MessagingService { #[cfg(feature = "starknet-messaging")] MessengerMode::Starknet(inner) => { let (block_num, txs) = - inner.gather_messages(from_block, max_block, backend.chain_id).await?; + inner.gather_messages(from_block, max_block, backend.chain_spec.id).await?; let txs_count = txs.len(); txs.into_iter().for_each(|tx| { diff --git a/crates/katana/core/src/service/mod.rs b/crates/katana/core/src/service/mod.rs index 2ff904f733..7fddc571f7 100644 --- a/crates/katana/core/src/service/mod.rs +++ b/crates/katana/core/src/service/mod.rs @@ -3,7 +3,6 @@ use std::future::Future; use std::pin::Pin; -use std::sync::Arc; use std::task::{Context, Poll}; use futures::channel::mpsc::Receiver; @@ -18,7 +17,6 @@ use self::block_producer::BlockProducer; use self::metrics::BlockProducerMetrics; pub mod block_producer; -#[cfg(feature = "messaging")] pub mod messaging; mod metrics; @@ -33,7 +31,7 @@ pub(crate) const LOG_TARGET: &str = "node"; #[allow(missing_debug_implementations)] pub struct BlockProductionTask { /// creates new blocks - pub(crate) block_producer: Arc>, + pub(crate) block_producer: BlockProducer, /// the miner responsible to select transactions from the `pool´ pub(crate) miner: TransactionMiner, /// the pool that holds all transactions @@ -43,11 +41,7 @@ pub struct BlockProductionTask { } impl BlockProductionTask { - pub fn new( - pool: TxPool, - miner: TransactionMiner, - block_producer: Arc>, - ) -> Self { + pub fn new(pool: TxPool, miner: TransactionMiner, block_producer: BlockProducer) -> Self { Self { block_producer, miner, pool, metrics: BlockProducerMetrics::default() } } } diff --git a/crates/katana/executor/Cargo.toml b/crates/katana/executor/Cargo.toml index 677e044024..0939be3dea 100644 --- a/crates/katana/executor/Cargo.toml +++ b/crates/katana/executor/Cargo.toml @@ -15,7 +15,7 @@ starknet = { workspace = true, optional = true } thiserror.workspace = true tracing.workspace = true -blockifier = { git = "https://github.com/dojoengine/sequencer", tag = "v0.8.0-rc3.1", features = [ "testing" ], optional = true } +blockifier = { git = "https://github.com/dojoengine/sequencer", tag = "v0.8.0-rc3.2", features = [ "testing" ], optional = true } katana-cairo = { workspace = true, optional = true } [dev-dependencies] diff --git a/crates/katana/executor/benches/utils.rs b/crates/katana/executor/benches/utils.rs index cc8d9ff9df..29392ff5c9 100644 --- a/crates/katana/executor/benches/utils.rs +++ b/crates/katana/executor/benches/utils.rs @@ -1,6 +1,6 @@ use katana_primitives::block::GasPrices; use katana_primitives::env::{BlockEnv, CfgEnv, FeeTokenAddressses}; -use katana_primitives::genesis::constant::DEFAULT_FEE_TOKEN_ADDRESS; +use katana_primitives::genesis::constant::DEFAULT_ETH_FEE_TOKEN_ADDRESS; use katana_primitives::transaction::{ExecutableTxWithHash, InvokeTx, InvokeTxV1}; use katana_primitives::Felt; use starknet::macros::{felt, selector}; @@ -9,7 +9,7 @@ pub fn tx() -> ExecutableTxWithHash { let invoke = InvokeTx::V1(InvokeTxV1 { sender_address: felt!("0x1").into(), calldata: vec![ - DEFAULT_FEE_TOKEN_ADDRESS.into(), + DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), selector!("transfer"), Felt::THREE, felt!("0x100"), @@ -34,8 +34,8 @@ pub fn envs() -> (BlockEnv, CfgEnv) { validate_max_n_steps: 4_000_000, invoke_tx_max_n_steps: 4_000_000, fee_token_addresses: FeeTokenAddressses { - eth: DEFAULT_FEE_TOKEN_ADDRESS, - strk: DEFAULT_FEE_TOKEN_ADDRESS, + eth: DEFAULT_ETH_FEE_TOKEN_ADDRESS, + strk: DEFAULT_ETH_FEE_TOKEN_ADDRESS, }, ..Default::default() }; diff --git a/crates/katana/executor/src/implementation/blockifier/mod.rs b/crates/katana/executor/src/implementation/blockifier/mod.rs index 0cb6cbeab9..9cdcb37fbd 100644 --- a/crates/katana/executor/src/implementation/blockifier/mod.rs +++ b/crates/katana/executor/src/implementation/blockifier/mod.rs @@ -102,9 +102,9 @@ impl<'a> StarknetVMProcessor<'a> { // TODO: should we enforce the gas price to not be 0, // as there's a flag to disable gas uasge instead? let eth_l1_gas_price = - NonZeroU128::new(header.gas_prices.eth).unwrap_or(NonZeroU128::new(1).unwrap()); + NonZeroU128::new(header.l1_gas_prices.eth).unwrap_or(NonZeroU128::new(1).unwrap()); let strk_l1_gas_price = - NonZeroU128::new(header.gas_prices.strk).unwrap_or(NonZeroU128::new(1).unwrap()); + NonZeroU128::new(header.l1_gas_prices.strk).unwrap_or(NonZeroU128::new(1).unwrap()); // TODO: which values is correct for those one? let eth_l1_data_gas_price = eth_l1_gas_price; @@ -239,6 +239,10 @@ impl<'a> BlockExecutor<'a> for StarknetVMProcessor<'a> { eth: eth_l1_gas_price.into(), strk: strk_l1_gas_price.into(), }, + l1_data_gas_prices: KatanaGasPrices { + eth: self.block_context.block_info().gas_prices.eth_l1_data_gas_price.into(), + strk: self.block_context.block_info().gas_prices.strk_l1_data_gas_price.into(), + }, } } } diff --git a/crates/katana/executor/src/implementation/blockifier/state.rs b/crates/katana/executor/src/implementation/blockifier/state.rs index 3676390d2e..7ee531d2bf 100644 --- a/crates/katana/executor/src/implementation/blockifier/state.rs +++ b/crates/katana/executor/src/implementation/blockifier/state.rs @@ -234,8 +234,8 @@ mod tests { use katana_primitives::class::{CompiledClass, FlattenedSierraClass}; use katana_primitives::contract::ContractAddress; use katana_primitives::genesis::constant::{ - DEFAULT_LEGACY_ERC20_CONTRACT_CASM, DEFAULT_LEGACY_UDC_CASM, DEFAULT_OZ_ACCOUNT_CONTRACT, - DEFAULT_OZ_ACCOUNT_CONTRACT_CASM, + DEFAULT_ACCOUNT_CLASS, DEFAULT_ACCOUNT_CLASS_CASM, DEFAULT_LEGACY_ERC20_CASM, + DEFAULT_LEGACY_UDC_CASM, }; use katana_primitives::utils::class::{parse_compiled_class, parse_sierra_class}; use katana_primitives::{address, Felt}; @@ -248,7 +248,7 @@ mod tests { use crate::StateProviderDb; fn new_sierra_class() -> (FlattenedSierraClass, CompiledClass) { - let json = include_str!("../../../../contracts/compiled/cairo1_contract.json"); + let json = include_str!("../../../../contracts/build/cairo1_contract.json"); let artifact = serde_json::from_str(json).unwrap(); let compiled_class = parse_compiled_class(artifact).unwrap(); let sierra_class = parse_sierra_class(json).unwrap().flatten().unwrap(); @@ -262,10 +262,10 @@ mod tests { let storage_value = felt!("0x2"); let class_hash = felt!("0x123"); let compiled_hash = felt!("0x456"); - let sierra_class = DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten().unwrap(); - let class = DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone(); + let sierra_class = DEFAULT_ACCOUNT_CLASS.clone().flatten().unwrap(); + let class = DEFAULT_ACCOUNT_CLASS_CASM.clone(); let legacy_class_hash = felt!("0x111"); - let legacy_class = DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone(); + let legacy_class = DEFAULT_LEGACY_ERC20_CASM.clone(); let provider = InMemoryProvider::new(); provider.set_nonce(address, nonce).unwrap(); @@ -304,11 +304,11 @@ mod tests { assert_eq!(actual_compiled_hash.0, felt!("0x456")); assert_eq!( actual_class, - utils::to_class(DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone()).unwrap().contract_class() + utils::to_class(DEFAULT_ACCOUNT_CLASS_CASM.clone()).unwrap().contract_class() ); assert_eq!( actual_legacy_class, - utils::to_class(DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()).unwrap().contract_class() + utils::to_class(DEFAULT_LEGACY_ERC20_CASM.clone()).unwrap().contract_class() ); Ok(()) @@ -407,9 +407,9 @@ mod tests { assert_eq!(actual_class_hash, Some(class_hash)); assert_eq!(actual_storage_value, Some(felt!("0x2"))); assert_eq!(actual_compiled_hash, Some(felt!("0x456"))); - assert_eq!(actual_class, Some(DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone())); - assert_eq!(actual_sierra_class, Some(DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten()?)); - assert_eq!(actual_legacy_class, Some(DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone())); + assert_eq!(actual_class, Some(DEFAULT_ACCOUNT_CLASS_CASM.clone())); + assert_eq!(actual_sierra_class, Some(DEFAULT_ACCOUNT_CLASS.clone().flatten()?)); + assert_eq!(actual_legacy_class, Some(DEFAULT_LEGACY_ERC20_CASM.clone())); // assert that can fetch data native to the cached state from the state provider diff --git a/crates/katana/executor/src/implementation/blockifier/utils.rs b/crates/katana/executor/src/implementation/blockifier/utils.rs index 4568a387f6..544b14c0f8 100644 --- a/crates/katana/executor/src/implementation/blockifier/utils.rs +++ b/crates/katana/executor/src/implementation/blockifier/utils.rs @@ -49,7 +49,7 @@ use katana_primitives::fee::TxFeeInfo; use katana_primitives::state::{StateUpdates, StateUpdatesWithDeclaredClasses}; use katana_primitives::trace::{L1Gas, TxExecInfo, TxResources}; use katana_primitives::transaction::{ - DeclareTx, DeployAccountTx, ExecutableTx, ExecutableTxWithHash, InvokeTx, + DeclareTx, DeployAccountTx, ExecutableTx, ExecutableTxWithHash, InvokeTx, TxType, }; use katana_primitives::{class, event, message, trace, Felt}; use katana_provider::traits::contract::ContractClassProvider; @@ -126,7 +126,7 @@ pub fn transact( match transact_inner(state, block_context, simulation_flags, to_executor_tx(tx.clone())) { Ok((info, fee)) => { // get the trace and receipt from the execution info - let trace = to_exec_info(info); + let trace = to_exec_info(info, tx.r#type()); let receipt = build_receipt(tx.tx_ref(), fee, &trace); ExecutionResult::new_success(receipt, trace) } @@ -563,8 +563,9 @@ fn starknet_api_ethaddr_to_felt(value: katana_cairo::starknet_api::core::EthAddr Felt::from_bytes_be(&bytes) } -pub fn to_exec_info(exec_info: TransactionExecutionInfo) -> TxExecInfo { +pub fn to_exec_info(exec_info: TransactionExecutionInfo, r#type: TxType) -> TxExecInfo { TxExecInfo { + r#type, validate_call_info: exec_info.validate_call_info.map(to_call_info), execute_call_info: exec_info.execute_call_info.map(to_call_info), fee_transfer_call_info: exec_info.fee_transfer_call_info.map(to_call_info), diff --git a/crates/katana/executor/tests/executor.rs b/crates/katana/executor/tests/executor.rs index eb187f03ef..61ab3713f6 100644 --- a/crates/katana/executor/tests/executor.rs +++ b/crates/katana/executor/tests/executor.rs @@ -7,8 +7,8 @@ use katana_executor::{ExecutionOutput, ExecutionResult, ExecutorFactory}; use katana_primitives::block::ExecutableBlock; use katana_primitives::contract::ContractAddress; use katana_primitives::genesis::constant::{ - DEFAULT_FEE_TOKEN_ADDRESS, DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, DEFAULT_PREFUNDED_ACCOUNT_BALANCE, DEFAULT_UDC_ADDRESS, + DEFAULT_ACCOUNT_CLASS_HASH, DEFAULT_ETH_FEE_TOKEN_ADDRESS, DEFAULT_LEGACY_ERC20_CLASS_HASH, + DEFAULT_PREFUNDED_ACCOUNT_BALANCE, DEFAULT_UDC_ADDRESS, }; use katana_primitives::transaction::TxWithHash; use katana_primitives::{address, Felt}; @@ -25,10 +25,12 @@ fn test_executor_with_valid_blocks_impl( ) { let cfg_env = factory.cfg(); - // the contract address of the main account used to send most of the transactions + // the contract address of the main account used to send most of the transactions (see the + // `valid_blocks` fixture) let main_account = - address!("0x6b86e40118f29ebe393a75469b4d926c7a44c2e2681b6d319520b7c1156d114"); - // the contract address of the account deployed using the `DeployAccount` tx + address!("0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba"); + // the contract address of the account deployed using the `DeployAccount` tx (see the + // `valid_blocks` fixture) let new_acc = address!("0x3ddfa445a70b927497249f94ff7431fc2e2abc761a34417fd4891beb7c2db85"); let mut executor = factory.with_state(state); @@ -46,7 +48,7 @@ fn test_executor_with_valid_blocks_impl( let actual_block_env = executor.block_env(); assert_eq!(actual_block_env.number, block.header.number); assert_eq!(actual_block_env.timestamp, block.header.timestamp); - assert_eq!(actual_block_env.l1_gas_prices, block.header.gas_prices); + assert_eq!(actual_block_env.l1_gas_prices, block.header.l1_gas_prices); assert_eq!(actual_block_env.sequencer_address, block.header.sequencer_address); let transactions = executor.transactions(); @@ -125,7 +127,7 @@ fn test_executor_with_valid_blocks_impl( let actual_block_env = executor.block_env(); assert_eq!(actual_block_env.number, block.header.number); assert_eq!(actual_block_env.timestamp, block.header.timestamp); - assert_eq!(actual_block_env.l1_gas_prices, block.header.gas_prices); + assert_eq!(actual_block_env.l1_gas_prices, block.header.l1_gas_prices); assert_eq!(actual_block_env.sequencer_address, block.header.sequencer_address); let transactions = executor.transactions(); @@ -141,7 +143,7 @@ fn test_executor_with_valid_blocks_impl( assert_eq!( actual_new_acc_class_hash, - Some(DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH), + Some(DEFAULT_ACCOUNT_CLASS_HASH), "account should be deployed" ); assert_eq!(actual_new_acc_nonce, Some(1u64.into()), "account nonce is updated"); @@ -172,31 +174,30 @@ fn test_executor_with_valid_blocks_impl( let actual_block_env = executor.block_env(); assert_eq!(actual_block_env.number, block.header.number); assert_eq!(actual_block_env.timestamp, block.header.timestamp); - assert_eq!(actual_block_env.l1_gas_prices, block.header.gas_prices); + assert_eq!(actual_block_env.l1_gas_prices, block.header.l1_gas_prices); assert_eq!(actual_block_env.sequencer_address, block.header.sequencer_address); let transactions = executor.transactions(); - assert_eq!( - transactions.len(), - 4, - "should not change bcs no transactions were executed in block 3" - ); + assert_eq!(transactions.len(), 4, "+1 tx from block 3"); - // compute the contract address that we deploy thru the UDC using Invoke tx + // compute the contract address that we deploy thru the UDC using Invoke tx (the erc20 contract) let deployed_contract = get_udc_deployed_address( felt!("0x6ea2ff5aa6f633708e69f5c61d2ac5f860d2435b46ddbd016aa065bce25100a"), - felt!("0x02a8846878b6ad1f54f6ba46f5f40e11cee755c677f130b2c4b60566c9003f1f"), + DEFAULT_LEGACY_ERC20_CLASS_HASH, &UdcUniqueness::Unique(UdcUniqueSettings { deployer_address: *main_account, udc_contract_address: DEFAULT_UDC_ADDRESS.into(), }), + // constructor arguments (refer to the valid_blocks fixture for the contract deployment for + // the meaning of these values) &[ felt!("0x4b415249"), felt!("0x4b415249"), felt!("0x12"), felt!("0x1b39"), felt!("0x0"), - felt!("0x6b86e40118f29ebe393a75469b4d926c7a44c2e2681b6d319520b7c1156d114"), + // this address must match with the `sender_address` in `valid_blocks` fixture + felt!("0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba"), ], ); @@ -234,7 +235,7 @@ fn test_executor_with_valid_blocks_impl( assert_eq!( actual_deployed_contract_class_hash, - Some(DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH), + Some(DEFAULT_LEGACY_ERC20_CLASS_HASH), "contract should be deployed" ); assert_eq!(actual_storage_value_1, Some(felt!("0x4b415249")), "ERC_name should be set"); @@ -293,8 +294,8 @@ fn test_executor_with_valid_blocks_impl( let actual_contract_deployed = states.state_updates.deployed_contracts; let expected_contract_deployed = BTreeMap::from([ - (new_acc, DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH), - (deployed_contract.into(), DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH), + (new_acc, DEFAULT_ACCOUNT_CLASS_HASH), + (deployed_contract.into(), DEFAULT_LEGACY_ERC20_CLASS_HASH), ]); similar_asserts::assert_eq!(actual_nonce_updates, expected_nonce_updates); @@ -305,7 +306,7 @@ fn test_executor_with_valid_blocks_impl( let actual_storage_updates = states.state_updates.storage_updates; assert_eq!(actual_storage_updates.len(), 3, "only 3 contracts whose storage should be updated"); assert!( - actual_storage_updates.contains_key(&DEFAULT_FEE_TOKEN_ADDRESS), + actual_storage_updates.contains_key(&DEFAULT_ETH_FEE_TOKEN_ADDRESS), "fee token storage must get updated" ); assert!( diff --git a/crates/katana/executor/tests/fixtures/contract.json b/crates/katana/executor/tests/fixtures/contract.json index 359796f532..6451354a8b 120000 --- a/crates/katana/executor/tests/fixtures/contract.json +++ b/crates/katana/executor/tests/fixtures/contract.json @@ -1 +1 @@ -../../../contracts/compiled/oz_account_080.json \ No newline at end of file +../../../contracts/build/default_account.json \ No newline at end of file diff --git a/crates/katana/executor/tests/fixtures/mod.rs b/crates/katana/executor/tests/fixtures/mod.rs index 3519afe426..6390374a26 100644 --- a/crates/katana/executor/tests/fixtures/mod.rs +++ b/crates/katana/executor/tests/fixtures/mod.rs @@ -7,20 +7,22 @@ use katana_primitives::block::{ Block, ExecutableBlock, FinalityStatus, GasPrices, PartialHeader, SealedBlockWithStatus, }; use katana_primitives::chain::ChainId; +use katana_primitives::chain_spec::{self, ChainSpec}; use katana_primitives::class::{CompiledClass, FlattenedSierraClass}; use katana_primitives::contract::ContractAddress; +use katana_primitives::da::L1DataAvailabilityMode; use katana_primitives::env::{CfgEnv, FeeTokenAddressses}; use katana_primitives::genesis::allocation::DevAllocationsGenerator; use katana_primitives::genesis::constant::{ - DEFAULT_FEE_TOKEN_ADDRESS, DEFAULT_PREFUNDED_ACCOUNT_BALANCE, + DEFAULT_ACCOUNT_CLASS_HASH, DEFAULT_ETH_FEE_TOKEN_ADDRESS, DEFAULT_LEGACY_ERC20_CLASS_HASH, + DEFAULT_PREFUNDED_ACCOUNT_BALANCE, DEFAULT_STRK_FEE_TOKEN_ADDRESS, }; -use katana_primitives::genesis::Genesis; use katana_primitives::transaction::{ DeclareTx, DeclareTxV2, DeclareTxWithClass, DeployAccountTx, DeployAccountTxV1, ExecutableTx, ExecutableTxWithHash, InvokeTx, InvokeTxV1, }; use katana_primitives::utils::class::{parse_compiled_class, parse_sierra_class}; -use katana_primitives::version::Version; +use katana_primitives::version::CURRENT_STARKNET_VERSION; use katana_primitives::{address, Felt}; use katana_provider::providers::in_memory::InMemoryProvider; use katana_provider::traits::block::BlockWriter; @@ -47,7 +49,11 @@ pub fn contract_class() -> (CompiledClass, FlattenedSierraClass) { #[rstest::fixture] #[once] -pub fn genesis() -> Genesis { +pub fn chain() -> ChainSpec { + let mut chain = chain_spec::DEV_UNALLOCATED.clone(); + + // to generate the exact list of accounts as you would when you just run `katana` w/o + // any additional flags let mut seed = [0u8; 32]; seed[0] = b'0'; @@ -56,15 +62,14 @@ pub fn genesis() -> Genesis { .with_balance(U256::from(DEFAULT_PREFUNDED_ACCOUNT_BALANCE)) .generate(); - let mut genesis = Genesis::default(); - genesis.extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into()))); - genesis + chain.genesis.extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into()))); + chain } /// Returns a state provider with some prefilled states. #[rstest::fixture] -pub fn state_provider(genesis: &Genesis) -> Box { - let states = genesis.state_updates(); +pub fn state_provider(chain: &ChainSpec) -> Box { + let states = chain.state_updates(); let provider = InMemoryProvider::new(); let block = SealedBlockWithStatus { @@ -84,24 +89,28 @@ pub fn state_provider(genesis: &Genesis) -> Box { /// [state_provider]. #[rstest::fixture] pub fn valid_blocks() -> [ExecutableBlock; 3] { - let version = Version::new(0, 13, 0); + let version = CURRENT_STARKNET_VERSION; let chain_id = ChainId::parse("KATANA").unwrap(); let sequencer_address = ContractAddress(1u64.into()); + // one of the accounts that is generated by the `genesis` fixture. also one of the + // accounts generated by katana. let sender_address = - address!("0x06b86e40118f29ebe393a75469b4d926c7a44c2e2681b6d319520b7c1156d114"); + address!("0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba"); let gas_prices = GasPrices { eth: 100 * u128::pow(10, 9), strk: 100 * u128::pow(10, 9) }; [ ExecutableBlock { header: PartialHeader { - version, + version: version.clone(), number: 1, timestamp: 100, sequencer_address, parent_hash: 123u64.into(), - gas_prices: gas_prices.clone(), + l1_gas_prices: gas_prices.clone(), + l1_data_gas_prices: gas_prices.clone(), + l1_da_mode: L1DataAvailabilityMode::Calldata, }, body: vec![ // fund the account to be deployed, sending 0x9999999999999 amount @@ -144,12 +153,14 @@ pub fn valid_blocks() -> [ExecutableBlock; 3] { }, ExecutableBlock { header: PartialHeader { - version, + version: version.clone(), number: 2, timestamp: 200, sequencer_address, parent_hash: 1234u64.into(), - gas_prices: gas_prices.clone(), + l1_gas_prices: gas_prices.clone(), + l1_data_gas_prices: gas_prices.clone(), + l1_da_mode: L1DataAvailabilityMode::Calldata, }, body: vec![ // deploy account tx with the default account class @@ -165,9 +176,7 @@ pub fn valid_blocks() -> [ExecutableBlock; 3] { constructor_calldata: vec![felt!( "0x4c339f18b9d1b95b64a6d378abd1480b2e0d5d5bd33cd0828cbce4d65c27284" )], - class_hash: felt!( - "0x5400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c" - ), + class_hash: DEFAULT_ACCOUNT_CLASS_HASH, contract_address: address!( "0x3ddfa445a70b927497249f94ff7431fc2e2abc761a34417fd4891beb7c2db85" ), @@ -182,28 +191,33 @@ pub fn valid_blocks() -> [ExecutableBlock; 3] { timestamp: 300, sequencer_address, parent_hash: 12345u64.into(), - gas_prices: gas_prices.clone(), + l1_gas_prices: gas_prices.clone(), + l1_data_gas_prices: gas_prices.clone(), + l1_da_mode: L1DataAvailabilityMode::Calldata, }, body: vec![ - // deploy contract using UDC + // deploy a erc20 contract using UDC ExecutableTxWithHash::new(ExecutableTx::Invoke(InvokeTx::V1(InvokeTxV1 { chain_id, sender_address, + // the calldata is encoded based on the standard account call encoding calldata: vec![ felt!("0x1"), felt!("0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf"), felt!("0x1987cbd17808b9a23693d4de7e246a443cfe37e6e7fbaeabd7d7e6532b07c3d"), - felt!("0xa"), - felt!("0x2a8846878b6ad1f54f6ba46f5f40e11cee755c677f130b2c4b60566c9003f1f"), - felt!("0x6ea2ff5aa6f633708e69f5c61d2ac5f860d2435b46ddbd016aa065bce25100a"), - felt!("0x1"), - felt!("0x6"), - felt!("0x4b415249"), - felt!("0x4b415249"), - felt!("0x12"), - felt!("0x1b39"), - felt!("0x0"), - sender_address.into(), + felt!("10"), // the # of felts after this point + // --- udc::deployContract arguments + DEFAULT_LEGACY_ERC20_CLASS_HASH, // class hash + felt!("0x6ea2ff5aa6f633708e69f5c61d2ac5f860d2435b46ddbd016aa065bce25100a"), /* salt */ + felt!("0x1"), // uniquness + felt!("6"), // ctor calldata length + // ---- ctor calldata of the erc20 class + felt!("0x4b415249"), // erc20 name + felt!("0x4b415249"), // erc20 symbol + felt!("0x12"), // erc20 decimals + felt!("0x1b39"), // erc20 total supply (low) + felt!("0x0"), // erc20 total supply (high) + sender_address.into(), // recipient ], max_fee: 2700700000000000, signature: vec![], @@ -216,8 +230,10 @@ pub fn valid_blocks() -> [ExecutableBlock; 3] { #[rstest::fixture] pub fn cfg() -> CfgEnv { - let fee_token_addresses = - FeeTokenAddressses { eth: DEFAULT_FEE_TOKEN_ADDRESS, strk: ContractAddress(222u64.into()) }; + let fee_token_addresses = FeeTokenAddressses { + eth: DEFAULT_ETH_FEE_TOKEN_ADDRESS, + strk: DEFAULT_STRK_FEE_TOKEN_ADDRESS, + }; CfgEnv { fee_token_addresses, diff --git a/crates/katana/executor/tests/fixtures/transaction.rs b/crates/katana/executor/tests/fixtures/transaction.rs index bad306fd1b..6896239f96 100644 --- a/crates/katana/executor/tests/fixtures/transaction.rs +++ b/crates/katana/executor/tests/fixtures/transaction.rs @@ -1,9 +1,9 @@ use katana_primitives::chain::ChainId; +use katana_primitives::chain_spec::ChainSpec; use katana_primitives::contract::{ContractAddress, Nonce}; use katana_primitives::env::CfgEnv; use katana_primitives::genesis::allocation::GenesisAllocation; -use katana_primitives::genesis::constant::DEFAULT_FEE_TOKEN_ADDRESS; -use katana_primitives::genesis::Genesis; +use katana_primitives::genesis::constant::DEFAULT_ETH_FEE_TOKEN_ADDRESS; use katana_primitives::transaction::ExecutableTxWithHash; use katana_primitives::utils::transaction::compute_invoke_v1_tx_hash; use katana_primitives::Felt; @@ -17,7 +17,7 @@ use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::{JsonRpcClient, Url}; use starknet::signers::{LocalWallet, Signer, SigningKey}; -use super::{cfg, genesis}; +use super::{cfg, chain}; #[allow(unused)] pub fn invoke_executable_tx( @@ -43,7 +43,7 @@ pub fn invoke_executable_tx( account.set_block_id(BlockId::Tag(BlockTag::Pending)); let calls = vec![Call { - to: DEFAULT_FEE_TOKEN_ADDRESS.into(), + to: DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), selector: selector!("transfer"), calldata: vec![felt!("0x1"), felt!("0x99"), felt!("0x0")], }]; @@ -98,8 +98,8 @@ fn signed() -> bool { } #[rstest::fixture] -pub fn executable_tx(signed: bool, genesis: &Genesis, cfg: CfgEnv) -> ExecutableTxWithHash { - let (addr, alloc) = genesis.allocations.first_key_value().expect("should have account"); +pub fn executable_tx(signed: bool, chain: &ChainSpec, cfg: CfgEnv) -> ExecutableTxWithHash { + let (addr, alloc) = chain.genesis.allocations.first_key_value().expect("should have account"); let GenesisAllocation::Account(account) = alloc else { panic!("should be account"); @@ -119,10 +119,10 @@ pub fn executable_tx(signed: bool, genesis: &Genesis, cfg: CfgEnv) -> Executable #[rstest::fixture] pub fn executable_tx_without_max_fee( signed: bool, - genesis: &Genesis, + chain: &ChainSpec, cfg: CfgEnv, ) -> ExecutableTxWithHash { - let (addr, alloc) = genesis.allocations.first_key_value().expect("should have account"); + let (addr, alloc) = chain.genesis.allocations.first_key_value().expect("should have account"); let GenesisAllocation::Account(account) = alloc else { panic!("should be account"); diff --git a/crates/katana/monitoring/README.md b/crates/katana/monitoring/README.md new file mode 100644 index 0000000000..06f8eb39bf --- /dev/null +++ b/crates/katana/monitoring/README.md @@ -0,0 +1,20 @@ +# Katana Monitoring + +This directory contains an example of how to set up monitoring for Katana using Prometheus and Grafana. + +The `docker-compose.yml` file defines services for: +- Katana node +- Prometheus +- Grafana + +Configuration files are provided for Prometheus and Grafana dashboards. + +To run: + +``` +docker-compose up +``` + +This will start Katana with metrics enabled, Prometheus scraping those metrics, and Grafana dashboards to visualize the data. + +Access the Grafana dashboard at http://localhost:3000. diff --git a/crates/katana/monitoring/docker-compose.yml b/crates/katana/monitoring/docker-compose.yml new file mode 100644 index 0000000000..4f012b0a08 --- /dev/null +++ b/crates/katana/monitoring/docker-compose.yml @@ -0,0 +1,46 @@ +name: "katana" + +services: + katana: + restart: unless-stopped + image: ghcr.io/dojoengine/dojo + ports: + - "5050:5050" # rpc + - "9001:9001" # metrics + command: > + katana + --db-dir .katana/data-dir + --metrics 0.0.0.0:9001 + --host 0.0.0.0 --port 5050 + + prometheus: + restart: unless-stopped + image: prom/prometheus + depends_on: + - katana + ports: + - 9090:9090 + volumes: + - ./prometheus/:/etc/prometheus/ + - prometheusdata:/prometheus + command: + - --config.file=/etc/prometheus/config.yml + - --storage.tsdb.path=/prometheus + + grafana: + restart: unless-stopped + image: grafana/grafana + depends_on: + - prometheus + ports: + - 3000:3000 + volumes: + - ./grafana/dashboards:/etc/grafana/provisioning/dashboards + - ./grafana/datasources:/etc/grafana/provisioning/datasources + - grafanadata:/var/lib/grafana + +volumes: + prometheusdata: + driver: local + grafanadata: + driver: local diff --git a/crates/katana/monitoring/grafana/dashboards/overview.json b/crates/katana/monitoring/grafana/dashboards/overview.json new file mode 100644 index 0000000000..de6e3946fc --- /dev/null +++ b/crates/katana/monitoring/grafana/dashboards/overview.json @@ -0,0 +1,1908 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "panel", + "id": "gauge", + "name": "Gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.2.0" + }, + { + "type": "panel", + "id": "heatmap", + "name": "Heatmap", + "version": "" + }, + { + "type": "panel", + "id": "piechart", + "name": "Pie chart", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], + + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 2, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 125, + "panels": [], + "title": "Database", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 124, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"BlockBodyIndices\"}", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "BlockBodyIndices", + "range": true, + "refId": "A", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"BlockHashes\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "BlockHashes", + "range": true, + "refId": "B", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"BlockNumbers\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "BlockNumbers", + "range": true, + "refId": "C", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"BlockStatusses\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "BlockStatusses", + "range": true, + "refId": "D", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"ClassChangeHistory\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "ClassChangeHistory", + "range": true, + "refId": "E", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"ClassDeclarationBlock\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "ClassDeclarationBlock", + "range": true, + "refId": "F", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"ClassDeclarations\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "ClassDeclarations", + "range": true, + "refId": "G", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"CompiledClassHashes\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "CompiledClassHashes", + "range": true, + "refId": "H", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"CompiledClasses\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "CompiledClasses", + "range": true, + "refId": "I", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"ContractInfo\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "ContractInfo", + "range": true, + "refId": "J", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"ContractInfoChangeSet\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "ContractInfoChangeSet", + "range": true, + "refId": "K", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"Headers\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Headers", + "range": true, + "refId": "L", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"NonceChangeHistory\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "NonceChangeHistory", + "range": true, + "refId": "M", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"Receipts\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Receipts", + "range": true, + "refId": "N", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"SierraClasses\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "SierraClasses", + "range": true, + "refId": "O", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"StorageChangeHistory\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "StorageChangeHistory", + "range": true, + "refId": "P", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"StorageChangeSet\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "StorageChangeSet", + "range": true, + "refId": "Q", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"Transactions\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Transactions", + "range": true, + "refId": "R", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"TxBlocks\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "TxBlocks", + "range": true, + "refId": "S", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"TxHashes\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "TxHashes", + "range": true, + "refId": "T", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"TxNumbers\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "TxNumbers", + "range": true, + "refId": "U", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_table_size{table=\"TxTraces\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "TxTraces", + "range": true, + "refId": "V", + "useBackend": false + } + ], + "title": "Table Sizes", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "Total storage capacity of the database", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 127, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_freelist", + "fullMetaSearch": false, + "hide": true, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "sum(katana_db_table_size)", + "fullMetaSearch": false, + "hide": true, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "B", + "useBackend": false + }, + { + "datasource": { + "name": "Expression", + "type": "__expr__", + "uid": "__expr__" + }, + "expression": "$A + $B", + "hide": false, + "refId": "C", + "type": "math" + } + ], + "title": "Total Size", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 126, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_db_freelist", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Freelist", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Freelist Size", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 17 + }, + "id": 122, + "panels": [], + "title": "Execution", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "The total amount of L1 gas that has been processed", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Total gas", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 18 + }, + "id": 121, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_block_producer_l1_gas_processed_total{instance=~\"$instance\"}", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "L1 Gas Processed", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "The total amount of Cairo steps that has been processed", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Total steps", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 18 + }, + "id": 123, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "katana_block_producer_cairo_steps_processed_total{instance=~\"$instance\"}", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Cairo Steps Processed", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 26 + }, + "id": 108, + "panels": [], + "title": "RPC Server", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "http" + }, + "properties": [ + { + "id": "displayName", + "value": "HTTP" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "ws" + }, + "properties": [ + { + "id": "displayName", + "value": "WebSocket" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 109, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "disableTextWrap": false, + "editorMode": "code", + "expr": "sum(katana_rpc_server_connections_connections_opened{instance=~\"$instance\"} - katana_rpc_server_connections_connections_closed{instance=~\"$instance\"}) by (transport)", + "format": "time_series", + "fullMetaSearch": false, + "includeNullMetadata": true, + "legendFormat": "{{transport}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Active Connections", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "scaleDistribution": { + "type": "linear" + } + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 + }, + "id": 111, + "maxDataPoints": 25, + "options": { + "calculate": false, + "cellGap": 1, + "cellValues": { + "unit": "s" + }, + "color": { + "exponent": 0.2, + "fill": "dark-orange", + "min": 0, + "mode": "opacity", + "reverse": false, + "scale": "exponential", + "scheme": "Oranges", + "steps": 128 + }, + "exemplars": { + "color": "rgba(255,0,255,0.7)" + }, + "filterValues": { + "le": 1e-9 + }, + "legend": { + "show": true + }, + "rowsFrame": { + "layout": "auto", + "value": "Latency time" + }, + "tooltip": { + "mode": "single", + "showColorScale": false, + "yHistogram": false + }, + "yAxis": { + "axisLabel": "Quantile", + "axisPlacement": "left", + "reverse": false, + "unit": "percentunit" + } + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "avg(max_over_time(katana_rpc_server_connections_request_time_seconds{instance=~\"$instance\"}[$__rate_interval]) > 0) by (quantile)", + "format": "time_series", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Request Latency time", + "type": "heatmap" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "points", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 + }, + "id": 120, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "10.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "max(max_over_time(katana_rpc_server_calls_time_seconds[$__rate_interval])) by (method) > 0", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Maximum call latency per method", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "scaleDistribution": { + "type": "linear" + } + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 35 + }, + "id": 112, + "maxDataPoints": 25, + "options": { + "calculate": false, + "cellGap": 1, + "cellValues": { + "unit": "s" + }, + "color": { + "exponent": 0.2, + "fill": "dark-orange", + "min": 0, + "mode": "opacity", + "reverse": false, + "scale": "exponential", + "scheme": "Oranges", + "steps": 128 + }, + "exemplars": { + "color": "rgba(255,0,255,0.7)" + }, + "filterValues": { + "le": 1e-9 + }, + "legend": { + "show": true + }, + "rowsFrame": { + "layout": "auto", + "value": "Latency time" + }, + "tooltip": { + "mode": "single", + "showColorScale": false, + "yHistogram": false + }, + "yAxis": { + "axisLabel": "Quantile", + "axisPlacement": "left", + "reverse": false, + "unit": "percentunit" + } + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "avg(max_over_time(katana_rpc_server_calls_time_seconds{instance=~\"$instance\"}[$__rate_interval]) > 0) by (quantile)", + "format": "time_series", + "instant": false, + "legendFormat": "{{quantile}}", + "range": true, + "refId": "A" + } + ], + "title": "Call Latency time", + "type": "heatmap" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 43 + }, + "id": 97, + "panels": [], + "title": "Process", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "100% = 1 core", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 44 + }, + "id": 99, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "avg(rate(katana_process_cpu_seconds_total{instance=~\"$instance\"}[1m]))", + "instant": false, + "legendFormat": "Process", + "range": true, + "refId": "A" + } + ], + "title": "CPU", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 44 + }, + "id": 101, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "katana_process_resident_memory_bytes{instance=~\"$instance\"}", + "instant": false, + "legendFormat": "Resident", + "range": true, + "refId": "A" + } + ], + "title": "Memory", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 52 + }, + "id": 98, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "katana_jemalloc_active{instance=~\"$instance\"}", + "instant": false, + "legendFormat": "Active", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "katana_jemalloc_allocated{instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Allocated", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "katana_jemalloc_mapped{instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Mapped", + "range": true, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "katana_jemalloc_metadata{instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Metadata", + "range": true, + "refId": "D" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "katana_jemalloc_resident{instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Resident", + "range": true, + "refId": "E" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "katana_jemalloc_retained{instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Retained", + "range": true, + "refId": "F" + } + ], + "title": "Jemalloc Memory", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 52 + }, + "id": 100, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "builder", + "expr": "katana_process_open_fds{instance=~\"$instance\"}", + "instant": false, + "legendFormat": "Open", + "range": true, + "refId": "A" + } + ], + "title": "File Descriptors", + "type": "timeseries" + } + ], + "refresh": "30s", + "revision": 1, + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [ + { + "current": {}, + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "definition": "query_result(up)", + "hide": 0, + "includeAll": false, + "multi": false, + "name": "instance", + "options": [], + "query": { + "query": "query_result(up)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "/.*instance=\\\"([^\\\"]*).*/", + "skipUrlSync": false, + "sort": 0, + "type": "query" + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Katana", + "uid": "2k8BXz24x", + "version": 13, + "weekStart": "" +} diff --git a/crates/katana/monitoring/grafana/datasources/prometheus.yml b/crates/katana/monitoring/grafana/datasources/prometheus.yml new file mode 100644 index 0000000000..6561365f85 --- /dev/null +++ b/crates/katana/monitoring/grafana/datasources/prometheus.yml @@ -0,0 +1,8 @@ +apiVersion: 1 + +datasources: + - name: Prometheus + type: prometheus + access: proxy + url: $PROMETHEUS_URL + editable: true diff --git a/monitoring/prometheus/config.yml b/crates/katana/monitoring/prometheus/config.yml similarity index 61% rename from monitoring/prometheus/config.yml rename to crates/katana/monitoring/prometheus/config.yml index ae46f93b13..9916fa536c 100644 --- a/monitoring/prometheus/config.yml +++ b/crates/katana/monitoring/prometheus/config.yml @@ -3,4 +3,4 @@ scrape_configs: metrics_path: "/" scrape_interval: 5s static_configs: - - targets: ["localhost:9100"] + - targets: ["host.docker.internal:9001", "localhost:9100"] diff --git a/crates/katana/node-bindings/Cargo.toml b/crates/katana/node-bindings/Cargo.toml index 6c68d9cfa1..19ed985eaa 100644 --- a/crates/katana/node-bindings/Cargo.toml +++ b/crates/katana/node-bindings/Cargo.toml @@ -9,6 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +regex.workspace = true serde.workspace = true serde_json.workspace = true starknet.workspace = true diff --git a/crates/katana/node-bindings/src/json.rs b/crates/katana/node-bindings/src/json.rs index 9c85a6d411..0c8db425ae 100644 --- a/crates/katana/node-bindings/src/json.rs +++ b/crates/katana/node-bindings/src/json.rs @@ -1,54 +1,80 @@ +#![allow(dead_code)] + //! Utilities for parsing the logs in JSON format. This is when katana is run with `--json-log`. //! //! When JSON log is enabled, the startup details are all printed in a single log message. -//! Example startup log in JSON format: -//! -//! ```json -//! {"timestamp":"2024-07-06T03:35:00.410846Z","level":"INFO","fields":{"message":"{\"accounts\":[[\ -//! "318027405971194400117186968443431282813445578359155272415686954645506762954\",{\"balance\":\" -//! 0x21e19e0c9bab2400000\",\"class_hash\":\" -//! 0x5400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c\",\"private_key\":\" -//! 0x2bbf4f9fd0bbb2e60b0316c1fe0b76cf7a4d0198bd493ced9b8df2a3a24d68a\",\"public_key\":\" -//! 0x640466ebd2ce505209d3e5c4494b4276ed8f1cde764d757eb48831961f7cdea\"}]],\"address\":\"0.0.0.0: -//! 5050\",\"seed\":\"0\"}"},"target":"katana::cli"} -//! ``` -#![allow(dead_code)] + +use std::net::SocketAddr; use serde::Deserialize; -#[derive(Deserialize)] -pub struct JsonLogMessage { +#[derive(Deserialize, Debug)] +pub struct JsonLog { pub timestamp: String, pub level: String, - pub fields: JsonLogFields, + pub fields: Fields, pub target: String, } -#[derive(Deserialize)] -pub struct JsonLogFields { - #[serde(deserialize_with = "deserialize_katana_info")] - pub message: KatanaInfo, -} - -fn deserialize_katana_info<'de, D>(deserializer: D) -> Result -where - D: serde::Deserializer<'de>, -{ - let s = String::deserialize(deserializer)?; - serde_json::from_str(&s).map_err(serde::de::Error::custom) +#[derive(Deserialize, Debug)] +pub struct Fields { + pub message: String, + #[serde(flatten)] + pub other: T, } -#[derive(Deserialize)] +/// Katana startup log message. The object is included as a string in the `message` field. Hence we +/// have to parse it separately unlike the [`RpcAddr`] where we can directly deserialize using the +/// Fields generic parameter. +/// +/// Example: +/// +/// ```json +/// { +/// "timestamp": "2024-10-10T14:55:04.452924Z", +/// "level": "INFO", +/// "fields": { +/// "message": "{\"accounts\":[[\"0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba\",{\"balance\":\"0x21e19e0c9bab2400000\",\"class_hash\":\"0x5400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c\",\"private_key\":\"0x1800000000300000180000000000030000000000003006001800006600\",\"public_key\":\"0x2b191c2f3ecf685a91af7cf72a43e7b90e2e41220175de5c4f7498981b10053\"}]],\"seed\":\"0\"}" +/// }, +/// "target": "katana::cli" +/// } +/// ``` +#[derive(Deserialize, Debug)] pub struct KatanaInfo { pub seed: String, - pub address: String, pub accounts: Vec<(String, AccountInfo)>, } -#[derive(Deserialize)] +impl TryFrom for KatanaInfo { + type Error = serde_json::Error; + + fn try_from(value: String) -> Result { + serde_json::from_str(&value) + } +} + +#[derive(Deserialize, Debug)] pub struct AccountInfo { pub balance: String, pub class_hash: String, pub private_key: String, pub public_key: String, } + +/// { +/// "message": "RPC server started.", +/// "addr": "127.0.0.1:5050" +/// } +#[derive(Deserialize, Debug)] +pub struct RpcAddr { + pub addr: SocketAddr, +} + +/// { +/// "message": "Starting node.", +/// "chain": "SN_SEPOLIA" +/// } +#[derive(Deserialize, Debug)] +pub struct ChainId { + pub chain: String, +} diff --git a/crates/katana/node-bindings/src/lib.rs b/crates/katana/node-bindings/src/lib.rs index e82904e216..f270e0d384 100644 --- a/crates/katana/node-bindings/src/lib.rs +++ b/crates/katana/node-bindings/src/lib.rs @@ -6,6 +6,7 @@ mod json; +use std::borrow::Cow; use std::io::{BufRead, BufReader}; use std::net::SocketAddr; use std::path::PathBuf; @@ -14,13 +15,14 @@ use std::str::FromStr; use std::time::{Duration, Instant}; use starknet::core::types::{Felt, FromStrError}; +use starknet::core::utils::cairo_short_string_to_felt; use starknet::macros::short_string; use starknet::signers::SigningKey; use thiserror::Error; use tracing::trace; use url::Url; -use crate::json::{JsonLogMessage, KatanaInfo}; +use crate::json::{JsonLog, KatanaInfo}; /// How long we will wait for katana to indicate that it is ready. const KATANA_STARTUP_TIMEOUT_MILLIS: u64 = 10_000; @@ -125,13 +127,28 @@ pub enum Error { MissingAccountPrivateKey, /// A line indicating the instance address was found but the actual value was not. - #[error("missing account private key")] + #[error("missing rpc server address")] MissingSocketAddr, + /// A line indicating the instance address was found but the actual value was not. + #[error("missing chain id")] + MissingChainId, + #[error("encountered unexpected format: {0}")] UnexpectedFormat(String), + + #[error("failed to match regex: {0}")] + Regex(#[from] regex::Error), + + #[error("expected logs to be in JSON format: {0}")] + ExpectedJsonFormat(#[from] serde_json::Error), } +/// The string indicator from which the RPC server address can be extracted from. +const RPC_ADDR_LOG_SUBSTR: &str = "RPC server started."; +/// The string indicator from which the chain id can be extracted from. +const CHAIN_ID_LOG_SUBSTR: &str = "Starting node."; + /// Builder for launching `katana`. /// /// # Panics @@ -411,7 +428,6 @@ impl Katana { if let Some(db_dir) = self.db_dir { cmd.arg("--db-dir").arg(db_dir); } - if let Some(rpc_url) = self.rpc_url { cmd.arg("--rpc-url").arg(rpc_url); } @@ -484,10 +500,9 @@ impl Katana { let mut accounts = Vec::new(); // var to store the current account being processed let mut current_account: Option = None; - - // TODO: the chain id should be fetched from stdout as well but Katana doesn't display the - // chain id atm - let chain_id = self.chain_id.unwrap_or(short_string!("KATANA")); + // var to store the chain id parsed from the logs. default to KATANA (default katana chain + // id) if not specified + let mut chain_id: Felt = self.chain_id.unwrap_or(short_string!("KATANA")); loop { if start + Duration::from_millis(self.timeout.unwrap_or(KATANA_STARTUP_TIMEOUT_MILLIS)) @@ -501,37 +516,53 @@ impl Katana { trace!(line); if self.json_log { - if let Ok(log) = serde_json::from_str::(&line) { - let KatanaInfo { address, accounts: account_infos, .. } = log.fields.message; - - let addr = SocketAddr::from_str(&address)?; - port = addr.port(); - - for (address, info) in account_infos { - let address = Felt::from_str(&address)?; - let private_key = Felt::from_str(&info.private_key)?; - let key = SigningKey::from_secret_scalar(private_key); - accounts.push(Account { address, private_key: Some(key) }); - } - + // Because we using a concrete type for rpc addr log, we need to parse this first. + // Otherwise if we were to inverse the if statements, the else block + // would never be executed as all logs can be parsed as `JsonLog`. + if let Ok(log) = serde_json::from_str::>(&line) { + debug_assert!(log.fields.message.contains(RPC_ADDR_LOG_SUBSTR)); + port = log.fields.other.addr.port(); + // We can safely break here as we don't need any information after the rpc + // address break; } + // Try parsing as chain id log + else if let Ok(log) = serde_json::from_str::>(&line) { + debug_assert!(log.fields.message.contains(CHAIN_ID_LOG_SUBSTR)); + let chain_raw = log.fields.other.chain; + chain_id = if chain_raw.starts_with("0x") { + Felt::from_str(&chain_raw)? + } else { + cairo_short_string_to_felt(&chain_raw) + .map_err(|_| Error::UnexpectedFormat("invalid chain id".to_string()))? + }; + } + // Parse all logs as generic logs + else if let Ok(info) = serde_json::from_str::(&line) { + // Check if this log is a katana startup info log + if let Ok(info) = KatanaInfo::try_from(info.fields.message) { + for (address, info) in info.accounts { + let address = Felt::from_str(&address)?; + let private_key = Felt::from_str(&info.private_key)?; + let key = SigningKey::from_secret_scalar(private_key); + accounts.push(Account { address, private_key: Some(key) }); + } + + continue; + } + } } else { - const URL_PREFIX: &str = "🚀 JSON-RPC server started:"; - if line.starts_with(URL_PREFIX) { - // <🚀 JSON-RPC server started: http://0.0.0.0:5050> - let line = line.strip_prefix(URL_PREFIX).ok_or(Error::MissingSocketAddr)?; - let addr = line.trim(); - - // parse the actual port - let addr = addr.strip_prefix("http://").unwrap_or(addr); - let addr = SocketAddr::from_str(addr)?; + if line.contains(RPC_ADDR_LOG_SUBSTR) { + let addr = parse_rpc_addr_log(&line)?; port = addr.port(); - // The address is the last thing to be displayed so we can safely break here. break; } + if line.contains(CHAIN_ID_LOG_SUBSTR) { + chain_id = parse_chain_id_log(&line)?; + } + const ACC_ADDRESS_PREFIX: &str = "| Account address |"; if line.starts_with(ACC_ADDRESS_PREFIX) { // If there is currently an account being handled, but we've reached the next @@ -577,6 +608,44 @@ impl Katana { } } +/// Removes ANSI escape codes from a string. +/// +/// This is useful for removing the color codes from the katana output. +fn clean_ansi_escape_codes(input: &str) -> Result, Error> { + let re = regex::Regex::new(r"\x1b\[[0-9;]*[a-zA-Z]")?; + Ok(re.replace_all(input, "")) +} + +// Example RPC address log format (ansi color codes removed): +// 2024-10-10T14:20:53.563106Z INFO rpc: RPC server started. addr=127.0.0.1:60373 +fn parse_rpc_addr_log(log: &str) -> Result { + // remove any ANSI escape codes from the log. + let cleaned = clean_ansi_escape_codes(log)?; + + // This will separate the log into two parts as separated by `addr=` str and we take + // only the second part which is the address. + let addr_part = cleaned.split("addr=").nth(1).ok_or(Error::MissingSocketAddr)?; + let addr = addr_part.trim(); + Ok(SocketAddr::from_str(addr)?) +} + +// Example chain ID log format (ansi color codes removed): +// 2024-10-18T01:30:14.023880Z INFO katana_node: Starting node. chain=0x4b4154414e41 +fn parse_chain_id_log(log: &str) -> Result { + // remove any ANSI escape codes from the log. + let cleaned = clean_ansi_escape_codes(log)?; + + // This will separate the log into two parts as separated by `chain=` str and we take + // only the second part which is the chain ID. + let chain_part = cleaned.split("chain=").nth(1).ok_or(Error::MissingChainId)?.trim(); + if chain_part.starts_with("0x") { + Ok(Felt::from_str(chain_part)?) + } else { + Ok(cairo_short_string_to_felt(chain_part) + .map_err(|_| Error::UnexpectedFormat("invalid chain id".to_string()))?) + } +} + #[cfg(test)] mod tests { use starknet::providers::jsonrpc::HttpTransport; @@ -584,22 +653,28 @@ mod tests { use super::*; - #[test] - fn can_launch_katana() { + #[tokio::test] + async fn can_launch_katana() { + // this will launch katana with random ports let katana = Katana::new().spawn(); + // assert some default values assert_eq!(katana.accounts().len(), 10); assert_eq!(katana.chain_id(), short_string!("KATANA")); // assert that all accounts have private key assert!(katana.accounts().iter().all(|a| a.private_key.is_some())); + + // try to connect as a provider + let provider = JsonRpcClient::new(HttpTransport::new(katana.endpoint_url())); + assert!(provider.chain_id().await.is_ok()) } #[test] fn can_launch_katana_with_json_log() { - let katana = Katana::new().json_log(true).spawn(); + let katana = Katana::new().json_log(true).chain_id(short_string!("SN_SEPOLIA")).spawn(); // Assert default values when using JSON logging assert_eq!(katana.accounts().len(), 10); - assert_eq!(katana.chain_id(), short_string!("KATANA")); + assert_eq!(katana.chain_id(), short_string!("SN_SEPOLIA")); // assert that all accounts have private key assert!(katana.accounts().iter().all(|a| a.private_key.is_some())); } @@ -622,11 +697,15 @@ mod tests { let _ = Katana::new().block_time(500).spawn(); } - #[test] - fn can_launch_katana_with_specific_port() { + #[tokio::test] + async fn can_launch_katana_with_specific_port() { let specific_port = 49999; let katana = Katana::new().port(specific_port).spawn(); assert_eq!(katana.port(), specific_port); + + let provider = JsonRpcClient::new(HttpTransport::new(katana.endpoint_url())); + let result = provider.chain_id().await; + assert!(result.is_ok()); } #[tokio::test] @@ -652,4 +731,28 @@ mod tests { assert!(db_path.exists()); assert!(db_path.is_dir()); } + + #[test] + fn test_parse_rpc_addr_log() { + // actual rpc log from katana + let log = "\u{1b}[2m2024-10-10T14:48:55.397891Z\u{1b}[0m \u{1b}[32m INFO\u{1b}[0m \ + \u{1b}[2mrpc\u{1b}[0m\u{1b}[2m:\u{1b}[0m RPC server started. \ + \u{1b}[3maddr\u{1b}[0m\u{1b}[2m=\u{1b}[0m127.0.0.1:60817\n"; + let addr = parse_rpc_addr_log(log).unwrap(); + assert_eq!(addr.ip().to_string(), "127.0.0.1"); + assert_eq!(addr.port(), 60817); + } + + #[tokio::test] + async fn can_launch_katana_with_custom_chain_id() { + let custom_chain_id = Felt::from_str("0x1234").unwrap(); + let katana = Katana::new().chain_id(custom_chain_id).spawn(); + + assert_eq!(katana.chain_id(), custom_chain_id); + + let provider = JsonRpcClient::new(HttpTransport::new(katana.endpoint_url())); + let actual_chain_id = provider.chain_id().await.unwrap(); + + assert_eq!(custom_chain_id, actual_chain_id); + } } diff --git a/crates/katana/node/Cargo.toml b/crates/katana/node/Cargo.toml index c74b8e1380..1c460a128d 100644 --- a/crates/katana/node/Cargo.toml +++ b/crates/katana/node/Cargo.toml @@ -9,6 +9,7 @@ version.workspace = true katana-core.workspace = true katana-db.workspace = true katana-executor.workspace = true +katana-pipeline.workspace = true katana-pool.workspace = true katana-primitives.workspace = true katana-provider.workspace = true @@ -18,15 +19,17 @@ katana-tasks.workspace = true anyhow.workspace = true dojo-metrics.workspace = true +futures.workspace = true hyper.workspace = true jsonrpsee.workspace = true -num-traits.workspace = true serde_json.workspace = true starknet.workspace = true tower = { workspace = true, features = [ "full" ] } tower-http = { workspace = true, features = [ "full" ] } tracing.workspace = true +strum.workspace = true +strum_macros.workspace = true + [features] -messaging = [ "katana-core/messaging" ] -starknet-messaging = [ "katana-core/starknet-messaging", "messaging" ] +starknet-messaging = [ "katana-core/starknet-messaging" ] diff --git a/crates/katana/node/src/config/db.rs b/crates/katana/node/src/config/db.rs new file mode 100644 index 0000000000..e0eba4329d --- /dev/null +++ b/crates/katana/node/src/config/db.rs @@ -0,0 +1,8 @@ +use std::path::PathBuf; + +/// Database configurations. +#[derive(Debug, Clone, Default)] +pub struct DbConfig { + /// The path to the database directory. + pub dir: Option, +} diff --git a/crates/katana/node/src/config/dev.rs b/crates/katana/node/src/config/dev.rs new file mode 100644 index 0000000000..e5030d8842 --- /dev/null +++ b/crates/katana/node/src/config/dev.rs @@ -0,0 +1,23 @@ +/// Development configuration. +#[derive(Debug, Clone, Default)] +pub struct DevConfig { + /// Whether to enable paying fees for transactions. + /// + /// If disabled, the transaction's sender will not be charged for the transaction. Any fee + /// related checks will be skipped. + /// + /// For example, if the transaction's fee resources (ie max fee) is higher than the sender's + /// balance, the transaction will still be considered valid. + pub fee: bool, + + /// Whether to enable account validation when sending transaction. + /// + /// If disabled, the transaction's sender validation logic will not be executed in any + /// circumstances. Sending a transaction with invalid signatures, will be considered valid. + /// + /// In the case where fee estimation or transaction simulation is done *WITHOUT* the + /// `SKIP_VALIDATE` flag, if validation is disabled, then it would be as if the + /// estimation/simulation was sent with `SKIP_VALIDATE`. Using `SKIP_VALIDATE` while + /// validation is disabled is a no-op. + pub account_validation: bool, +} diff --git a/crates/katana/node/src/config/fork.rs b/crates/katana/node/src/config/fork.rs new file mode 100644 index 0000000000..da9c91617b --- /dev/null +++ b/crates/katana/node/src/config/fork.rs @@ -0,0 +1,11 @@ +use katana_primitives::block::BlockHashOrNumber; +use starknet::providers::Url; + +/// Node forking configurations. +#[derive(Debug, Clone)] +pub struct ForkingConfig { + /// The JSON-RPC URL of the network to fork from. + pub url: Url, + /// The block number to fork from. If `None`, the latest block will be used. + pub block: Option, +} diff --git a/crates/katana/node/src/config/metrics.rs b/crates/katana/node/src/config/metrics.rs new file mode 100644 index 0000000000..40a1b234ad --- /dev/null +++ b/crates/katana/node/src/config/metrics.rs @@ -0,0 +1,8 @@ +use std::net::SocketAddr; + +/// Node metrics configurations. +#[derive(Debug, Clone)] +pub struct MetricsConfig { + /// The address to bind the metrics server to. + pub addr: SocketAddr, +} diff --git a/crates/katana/node/src/config/mod.rs b/crates/katana/node/src/config/mod.rs new file mode 100644 index 0000000000..1c9fa68041 --- /dev/null +++ b/crates/katana/node/src/config/mod.rs @@ -0,0 +1,59 @@ +pub mod db; +pub mod dev; +pub mod fork; +pub mod metrics; +pub mod rpc; + +use db::DbConfig; +use dev::DevConfig; +use fork::ForkingConfig; +use katana_core::backend::config::StarknetConfig; +use katana_core::service::messaging::MessagingConfig; +use katana_primitives::chain_spec::ChainSpec; +use metrics::MetricsConfig; +use rpc::RpcConfig; + +/// Node configurations. +/// +/// List of all possible options that can be used to configure a node. +#[derive(Debug, Clone, Default)] +pub struct Config { + /// The chain specification. + pub chain: ChainSpec, + + /// Database options. + pub db: DbConfig, + + /// Forking options. + pub forking: Option, + + /// Rpc options. + pub rpc: RpcConfig, + + /// Metrics options. + pub metrics: Option, + + /// Starknet options. + pub starknet: StarknetConfig, + + /// Messaging options. + pub messaging: Option, + + /// Sequencing options. + pub sequencing: SequencingConfig, + + /// Development options. + pub dev: DevConfig, +} + +/// Configurations related to block production. +#[derive(Debug, Clone, Default)] +pub struct SequencingConfig { + /// The time in milliseconds for a block to be produced. + pub block_time: Option, + + /// Disable automatic block production. + /// + /// Allowing block to only be produced manually. + pub no_mining: bool, +} diff --git a/crates/katana/node/src/config/rpc.rs b/crates/katana/node/src/config/rpc.rs new file mode 100644 index 0000000000..bd1d893d39 --- /dev/null +++ b/crates/katana/node/src/config/rpc.rs @@ -0,0 +1,47 @@ +use std::collections::HashSet; +use std::net::{IpAddr, Ipv4Addr, SocketAddr}; + +/// The default maximum number of concurrent RPC connections. +pub const DEFAULT_RPC_MAX_CONNECTIONS: u32 = 100; +pub const DEFAULT_RPC_ADDR: IpAddr = IpAddr::V4(Ipv4Addr::LOCALHOST); +pub const DEFAULT_RPC_PORT: u16 = 5050; + +/// List of APIs supported by Katana. +#[derive( + Debug, Copy, Clone, PartialEq, Eq, Hash, strum_macros::EnumString, strum_macros::Display, +)] +pub enum ApiKind { + Starknet, + Torii, + Dev, + Saya, +} + +/// Configuration for the RPC server. +#[derive(Debug, Clone)] +pub struct RpcConfig { + pub addr: IpAddr, + pub port: u16, + pub max_connections: u32, + pub allowed_origins: Option>, + pub apis: HashSet, +} + +impl RpcConfig { + /// Returns the [`SocketAddr`] for the RPC server. + pub fn socket_addr(&self) -> SocketAddr { + SocketAddr::new(self.addr, self.port) + } +} + +impl Default for RpcConfig { + fn default() -> Self { + Self { + allowed_origins: None, + addr: DEFAULT_RPC_ADDR, + port: DEFAULT_RPC_PORT, + max_connections: DEFAULT_RPC_MAX_CONNECTIONS, + apis: HashSet::from([ApiKind::Starknet]), + } + } +} diff --git a/crates/katana/node/src/exit.rs b/crates/katana/node/src/exit.rs new file mode 100644 index 0000000000..de1e42c9f3 --- /dev/null +++ b/crates/katana/node/src/exit.rs @@ -0,0 +1,41 @@ +use std::future::Future; +use std::pin::Pin; +use std::task::{Context, Poll}; + +use anyhow::Result; +use futures::future::BoxFuture; +use futures::FutureExt; + +use crate::LaunchedNode; + +/// A Future that is resolved once the node has been stopped including all of its running tasks. +#[must_use = "futures do nothing unless polled"] +pub struct NodeStoppedFuture<'a> { + fut: BoxFuture<'a, Result<()>>, +} + +impl<'a> NodeStoppedFuture<'a> { + pub(crate) fn new(handle: &'a LaunchedNode) -> Self { + let fut = Box::pin(async { + handle.node.task_manager.wait_for_shutdown().await; + handle.stop().await?; + Ok(()) + }); + Self { fut } + } +} + +impl<'a> Future for NodeStoppedFuture<'a> { + type Output = Result<()>; + + fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + let this = self.get_mut(); + this.fut.poll_unpin(cx) + } +} + +impl<'a> core::fmt::Debug for NodeStoppedFuture<'a> { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.debug_struct("NodeStoppedFuture").field("fut", &"...").finish() + } +} diff --git a/crates/katana/node/src/lib.rs b/crates/katana/node/src/lib.rs index 55dab949f0..09ccd54d1e 100644 --- a/crates/katana/node/src/lib.rs +++ b/crates/katana/node/src/lib.rs @@ -1,36 +1,38 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] +pub mod config; +pub mod exit; + +use std::future::IntoFuture; use std::net::SocketAddr; use std::sync::Arc; use std::time::Duration; use anyhow::Result; +use config::metrics::MetricsConfig; +use config::rpc::{ApiKind, RpcConfig}; +use config::{Config, SequencingConfig}; +use dojo_metrics::prometheus_exporter::PrometheusHandle; use dojo_metrics::{metrics_process, prometheus_exporter, Report}; use hyper::{Method, Uri}; use jsonrpsee::server::middleware::proxy_get_request::ProxyGetRequestLayer; use jsonrpsee::server::{AllowHosts, ServerBuilder, ServerHandle}; use jsonrpsee::RpcModule; -use katana_core::backend::config::StarknetConfig; use katana_core::backend::storage::Blockchain; use katana_core::backend::Backend; use katana_core::constants::MAX_RECURSION_DEPTH; use katana_core::env::BlockContextGenerator; -#[allow(deprecated)] -use katana_core::sequencer::SequencerConfig; use katana_core::service::block_producer::BlockProducer; -#[cfg(feature = "messaging")] -use katana_core::service::messaging::{MessagingService, MessagingTask}; -use katana_core::service::{BlockProductionTask, TransactionMiner}; +use katana_core::service::messaging::MessagingConfig; +use katana_db::mdbx::DbEnv; use katana_executor::implementation::blockifier::BlockifierFactory; use katana_executor::{ExecutorFactory, SimulationFlag}; +use katana_pipeline::{stage, Pipeline}; use katana_pool::ordering::FiFo; use katana_pool::validation::stateful::TxValidator; -use katana_pool::{TransactionPool, TxPool}; -use katana_primitives::block::FinalityStatus; +use katana_pool::TxPool; use katana_primitives::env::{CfgEnv, FeeTokenAddressses}; -use katana_provider::providers::fork::ForkedProvider; use katana_provider::providers::in_memory::InMemoryProvider; -use katana_rpc::config::ServerConfig; use katana_rpc::dev::DevApi; use katana_rpc::metrics::RpcServerMetrics; use katana_rpc::saya::SayaApi; @@ -40,67 +42,141 @@ use katana_rpc_api::dev::DevApiServer; use katana_rpc_api::saya::SayaApiServer; use katana_rpc_api::starknet::{StarknetApiServer, StarknetTraceApiServer, StarknetWriteApiServer}; use katana_rpc_api::torii::ToriiApiServer; -use katana_rpc_api::ApiKind; use katana_tasks::TaskManager; -use num_traits::ToPrimitive; -use starknet::core::types::{BlockId, BlockStatus, MaybePendingBlockWithTxHashes}; -use starknet::core::utils::parse_cairo_short_string; -use starknet::providers::jsonrpc::HttpTransport; -use starknet::providers::{JsonRpcClient, Provider}; use tower_http::cors::{AllowOrigin, CorsLayer}; -use tracing::{info, trace}; +use tracing::info; + +use crate::exit::NodeStoppedFuture; -/// A handle to the instantiated Katana node. +/// A handle to the launched node. #[allow(missing_debug_implementations)] -pub struct Handle { - pub pool: TxPool, +pub struct LaunchedNode { + pub node: Node, + /// Handle to the rpc server. pub rpc: RpcServer, - pub task_manager: TaskManager, - pub backend: Arc>, - pub block_producer: Arc>, } -impl Handle { - /// Stops the Katana node. - pub async fn stop(self) -> Result<()> { - // TODO: wait for the rpc server to stop +impl LaunchedNode { + /// Stops the node. + /// + /// This will instruct the node to stop and wait until it has actually stop. + pub async fn stop(&self) -> Result<()> { + // TODO: wait for the rpc server to stop instead of just stopping it. self.rpc.handle.stop()?; - self.task_manager.shutdown().await; + self.node.task_manager.shutdown().await; Ok(()) } + + /// Returns a future which resolves only when the node has stopped. + pub fn stopped(&self) -> NodeStoppedFuture<'_> { + NodeStoppedFuture::new(self) + } +} + +/// A node instance. +/// +/// The struct contains the handle to all the components of the node. +#[must_use = "Node does nothing unless launched."] +#[allow(missing_debug_implementations)] +pub struct Node { + pub pool: TxPool, + pub db: Option, + pub task_manager: TaskManager, + pub prometheus_handle: PrometheusHandle, + pub backend: Arc>, + pub block_producer: BlockProducer, + pub rpc_config: RpcConfig, + pub metrics_config: Option, + pub sequencing_config: SequencingConfig, + pub messaging_config: Option, +} + +impl Node { + /// Start the node. + /// + /// This method will start all the node process, running them until the node is stopped. + pub async fn launch(self) -> Result { + let chain = self.backend.chain_spec.id; + info!(%chain, "Starting node."); + + if let Some(ref cfg) = self.metrics_config { + let addr = cfg.addr; + let mut reports = Vec::new(); + + if let Some(ref db) = self.db { + reports.push(Box::new(db.clone()) as Box); + } + + prometheus_exporter::serve( + addr, + self.prometheus_handle.clone(), + metrics_process::Collector::default(), + reports, + ) + .await?; + + info!(%addr, "Metrics endpoint started."); + } + + let pool = self.pool.clone(); + let backend = self.backend.clone(); + let block_producer = self.block_producer.clone(); + let validator = self.block_producer.validator().clone(); + + // --- build sequencing stage + + let sequencing = stage::Sequencing::new( + pool.clone(), + backend.clone(), + self.task_manager.task_spawner(), + block_producer.clone(), + self.messaging_config.clone(), + ); + + // --- build and start the pipeline + + let mut pipeline = Pipeline::new(); + pipeline.add_stage(Box::new(sequencing)); + + self.task_manager + .task_spawner() + .build_task() + .critical() + .name("Pipeline") + .spawn(pipeline.into_future()); + + let node_components = (pool, backend, block_producer, validator); + let rpc = spawn(node_components, self.rpc_config.clone()).await?; + + Ok(LaunchedNode { node: self, rpc }) + } } -/// Build the core Katana components from the given configurations and start running the node. -// TODO: placeholder until we implement a dedicated class that encapsulate building the node -// components -// -// Most of the logic are taken out of the `main.rs` file in `/bin/katana` crate, and combined -// with the exact copy of the setup logic for `NodeService` from `KatanaSequencer::new`. It also -// includes logic that was previously in `Backend::new`. -// -// NOTE: Don't rely on this function as it is mainly used as a placeholder for now. -#[allow(deprecated)] -pub async fn start( - server_config: ServerConfig, - sequencer_config: SequencerConfig, - mut starknet_config: StarknetConfig, -) -> Result { +/// Build the node components from the given [`Config`]. +/// +/// This returns a [`Node`] instance which can be launched with the all the necessary components +/// configured. +pub async fn build(mut config: Config) -> Result { + // Metrics recorder must be initialized before calling any of the metrics macros, in order + // for it to be registered. + let prometheus_handle = prometheus_exporter::install_recorder("katana")?; + // --- build executor factory let cfg_env = CfgEnv { - chain_id: starknet_config.env.chain_id, - invoke_tx_max_n_steps: starknet_config.env.invoke_max_steps, - validate_max_n_steps: starknet_config.env.validate_max_steps, + chain_id: config.chain.id, + invoke_tx_max_n_steps: config.starknet.env.invoke_max_steps, + validate_max_n_steps: config.starknet.env.validate_max_steps, max_recursion_depth: MAX_RECURSION_DEPTH, fee_token_addresses: FeeTokenAddressses { - eth: starknet_config.genesis.fee_token.address, - strk: Default::default(), + eth: config.chain.fee_contracts.eth, + strk: config.chain.fee_contracts.strk, }, }; let simulation_flags = SimulationFlag { - skip_validate: starknet_config.disable_validate, - skip_fee_transfer: starknet_config.disable_fee, + skip_validate: !config.dev.account_validation, + skip_fee_transfer: !config.dev.fee, ..Default::default() }; @@ -108,75 +184,29 @@ pub async fn start( // --- build backend - let (blockchain, db) = if let Some(forked_url) = &starknet_config.fork_rpc_url { - let provider = Arc::new(JsonRpcClient::new(HttpTransport::new(forked_url.clone()))); - let forked_chain_id = provider.chain_id().await.unwrap(); - - let forked_block_num = if let Some(num) = starknet_config.fork_block_number { - num - } else { - provider.block_number().await.expect("failed to fetch block number from forked network") - }; - - let block = - provider.get_block_with_tx_hashes(BlockId::Number(forked_block_num)).await.unwrap(); - let MaybePendingBlockWithTxHashes::Block(block) = block else { - panic!("block to be forked is a pending block") - }; - - // adjust the genesis to match the forked block - starknet_config.genesis.number = block.block_number; - starknet_config.genesis.state_root = block.new_root; - starknet_config.genesis.parent_hash = block.parent_hash; - starknet_config.genesis.timestamp = block.timestamp; - starknet_config.genesis.sequencer_address = block.sequencer_address.into(); - starknet_config.genesis.gas_prices.eth = - block.l1_gas_price.price_in_wei.to_u128().expect("should fit in u128"); - starknet_config.genesis.gas_prices.strk = - block.l1_gas_price.price_in_fri.to_u128().expect("should fit in u128"); - - trace!( - chain = %parse_cairo_short_string(&forked_chain_id).unwrap(), - block_number = %block.block_number, - forked_url = %forked_url, - "Forking chain.", - ); - - let blockchain = Blockchain::new_from_forked( - ForkedProvider::new(provider, forked_block_num.into()).unwrap(), - block.block_hash, - &starknet_config.genesis, - match block.status { - BlockStatus::AcceptedOnL1 => FinalityStatus::AcceptedOnL1, - BlockStatus::AcceptedOnL2 => FinalityStatus::AcceptedOnL2, - _ => panic!("unable to fork for non-accepted block"), - }, - )?; - - starknet_config.env.chain_id = forked_chain_id.into(); - - (blockchain, None) - } else if let Some(db_path) = &starknet_config.db_dir { + let (blockchain, db) = if let Some(cfg) = config.forking { + let bc = Blockchain::new_from_forked(cfg.url.clone(), cfg.block, &mut config.chain).await?; + (bc, None) + } else if let Some(db_path) = &config.db.dir { let db = katana_db::init_db(db_path)?; - (Blockchain::new_with_db(db.clone(), &starknet_config.genesis)?, Some(db)) + (Blockchain::new_with_db(db.clone(), &config.chain)?, Some(db)) } else { - (Blockchain::new_with_genesis(InMemoryProvider::new(), &starknet_config.genesis)?, None) + (Blockchain::new_with_chain(InMemoryProvider::new(), &config.chain)?, None) }; - let chain_id = starknet_config.env.chain_id; let block_context_generator = BlockContextGenerator::default().into(); let backend = Arc::new(Backend { - chain_id, blockchain, executor_factory, block_context_generator, - config: starknet_config, + config: config.starknet, + chain_spec: config.chain, }); // --- build block producer - let block_producer = if sequencer_config.block_time.is_some() || sequencer_config.no_mining { - if let Some(interval) = sequencer_config.block_time { + let block_producer = if config.sequencing.block_time.is_some() || config.sequencing.no_mining { + if let Some(interval) = config.sequencing.block_time { BlockProducer::interval(Arc::clone(&backend), interval) } else { BlockProducer::on_demand(Arc::clone(&backend)) @@ -185,63 +215,31 @@ pub async fn start( BlockProducer::instant(Arc::clone(&backend)) }; - // --- build transaction pool and miner + // --- build transaction pool let validator = block_producer.validator(); let pool = TxPool::new(validator.clone(), FiFo::new()); - let miner = TransactionMiner::new(pool.add_listener()); - - // --- build metrics service - - // Metrics recorder must be initialized before calling any of the metrics macros, in order for - // it to be registered. - if let Some(addr) = server_config.metrics { - let prometheus_handle = prometheus_exporter::install_recorder("katana")?; - let reports = db.map(|db| vec![Box::new(db) as Box]).unwrap_or_default(); - - prometheus_exporter::serve( - addr, - prometheus_handle, - metrics_process::Collector::default(), - reports, - ) - .await?; - info!(%addr, "Metrics endpoint started."); - } - - // --- create a TaskManager using the ambient Tokio runtime - - let task_manager = TaskManager::current(); - - // --- build and spawn the messaging task - - #[cfg(feature = "messaging")] - if let Some(config) = sequencer_config.messaging.clone() { - let messaging = MessagingService::new(config, pool.clone(), Arc::clone(&backend)).await?; - let task = MessagingTask::new(messaging); - task_manager.build_task().critical().name("Messaging").spawn(task); - } - - let block_producer = Arc::new(block_producer); - - // --- build and spawn the block production task - - let task = BlockProductionTask::new(pool.clone(), miner, block_producer.clone()); - task_manager.build_task().critical().name("BlockProduction").spawn(task); - - // --- spawn rpc server - - let node_components = (pool.clone(), backend.clone(), block_producer.clone(), validator); - let rpc = spawn(node_components, server_config).await?; + let node = Node { + db, + pool, + backend, + block_producer, + prometheus_handle, + rpc_config: config.rpc, + metrics_config: config.metrics, + messaging_config: config.messaging, + sequencing_config: config.sequencing, + task_manager: TaskManager::current(), + }; - Ok(Handle { backend, block_producer, pool, rpc, task_manager }) + Ok(node) } // Moved from `katana_rpc` crate pub async fn spawn( - node_components: (TxPool, Arc>, Arc>, TxValidator), - config: ServerConfig, + node_components: (TxPool, Arc>, BlockProducer, TxValidator), + config: RpcConfig, ) -> Result { let (pool, backend, block_producer, validator) = node_components; @@ -306,12 +304,14 @@ pub async fn spawn( .set_host_filtering(AllowHosts::Any) .set_middleware(middleware) .max_connections(config.max_connections) - .build(config.addr()) + .build(config.socket_addr()) .await?; let addr = server.local_addr()?; let handle = server.start(methods)?; + info!(target: "rpc", %addr, "RPC server started."); + Ok(RpcServer { handle, addr }) } diff --git a/crates/katana/pipeline/Cargo.toml b/crates/katana/pipeline/Cargo.toml new file mode 100644 index 0000000000..5988c7aa0c --- /dev/null +++ b/crates/katana/pipeline/Cargo.toml @@ -0,0 +1,19 @@ +[package] +edition.workspace = true +license.workspace = true +name = "katana-pipeline" +repository.workspace = true +version.workspace = true + +[dependencies] +katana-core.workspace = true +katana-executor.workspace = true +katana-pool.workspace = true +katana-tasks.workspace = true + +anyhow.workspace = true +async-trait.workspace = true +futures.workspace = true +thiserror.workspace = true +tokio.workspace = true +tracing.workspace = true diff --git a/crates/katana/pipeline/src/lib.rs b/crates/katana/pipeline/src/lib.rs new file mode 100644 index 0000000000..7850fe4974 --- /dev/null +++ b/crates/katana/pipeline/src/lib.rs @@ -0,0 +1,82 @@ +#![cfg_attr(not(test), warn(unused_crate_dependencies))] + +pub mod stage; + +use core::future::IntoFuture; + +use futures::future::BoxFuture; +use stage::Stage; +use tracing::{error, info}; + +/// The result of a pipeline execution. +pub type PipelineResult = Result<(), Error>; + +/// The future type for [Pipeline]'s implementation of [IntoFuture]. +pub type PipelineFut = BoxFuture<'static, PipelineResult>; + +#[derive(Debug, thiserror::Error)] +pub enum Error { + #[error(transparent)] + Stage(#[from] stage::Error), +} + +/// Manages the execution of stages. +/// +/// The pipeline drives the execution of stages, running each stage to completion in the order they +/// were added. +/// +/// Inspired by [`reth`]'s staged sync pipeline. +/// +/// [`reth`]: https://github.com/paradigmxyz/reth/blob/c7aebff0b6bc19cd0b73e295497d3c5150d40ed8/crates/stages/api/src/pipeline/mod.rs#L66 +pub struct Pipeline { + stages: Vec>, +} + +impl Pipeline { + /// Create a new empty pipeline. + pub fn new() -> Self { + Self { stages: Vec::new() } + } + + /// Insert a new stage into the pipeline. + pub fn add_stage(&mut self, stage: Box) { + self.stages.push(stage); + } + + /// Start the pipeline. + pub async fn run(&mut self) -> PipelineResult { + for stage in &mut self.stages { + info!(target: "pipeline", id = %stage.id(), "Executing stage."); + stage.execute().await?; + } + info!(target: "pipeline", "Pipeline finished."); + Ok(()) + } +} + +impl IntoFuture for Pipeline { + type Output = PipelineResult; + type IntoFuture = PipelineFut; + + fn into_future(mut self) -> Self::IntoFuture { + Box::pin(async move { + self.run().await.inspect_err(|error| { + error!(target: "pipeline", %error, "Pipeline failed."); + }) + }) + } +} + +impl core::default::Default for Pipeline { + fn default() -> Self { + Self::new() + } +} + +impl core::fmt::Debug for Pipeline { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.debug_struct("Pipeline") + .field("stages", &self.stages.iter().map(|s| s.id()).collect::>()) + .finish() + } +} diff --git a/crates/katana/pipeline/src/stage/mod.rs b/crates/katana/pipeline/src/stage/mod.rs new file mode 100644 index 0000000000..6d50761ffc --- /dev/null +++ b/crates/katana/pipeline/src/stage/mod.rs @@ -0,0 +1,34 @@ +mod sequencing; + +pub use sequencing::Sequencing; + +/// The result type of a stage execution. See [Stage::execute]. +pub type StageResult = Result<(), Error>; + +#[derive(Debug, Clone, Copy)] +pub enum StageId { + Sequencing, +} + +impl core::fmt::Display for StageId { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + StageId::Sequencing => write!(f, "Sequencing"), + } + } +} + +#[derive(Debug, thiserror::Error)] +pub enum Error { + #[error(transparent)] + Other(#[from] anyhow::Error), +} + +#[async_trait::async_trait] +pub trait Stage: Send + Sync { + /// Returns the id which uniquely identifies the stage. + fn id(&self) -> StageId; + + /// Executes the stage. + async fn execute(&mut self) -> StageResult; +} diff --git a/crates/katana/pipeline/src/stage/sequencing.rs b/crates/katana/pipeline/src/stage/sequencing.rs new file mode 100644 index 0000000000..6eae240112 --- /dev/null +++ b/crates/katana/pipeline/src/stage/sequencing.rs @@ -0,0 +1,92 @@ +use std::sync::Arc; + +use anyhow::Result; +use futures::future; +use katana_core::backend::Backend; +use katana_core::service::block_producer::BlockProducer; +use katana_core::service::messaging::{MessagingConfig, MessagingService, MessagingTask}; +use katana_core::service::{BlockProductionTask, TransactionMiner}; +use katana_executor::ExecutorFactory; +use katana_pool::{TransactionPool, TxPool}; +use katana_tasks::{TaskHandle, TaskSpawner}; +use tracing::error; + +use super::{StageId, StageResult}; +use crate::Stage; + +/// The sequencing stage is responsible for advancing the chain state. +#[allow(missing_debug_implementations)] +pub struct Sequencing { + pool: TxPool, + backend: Arc>, + task_spawner: TaskSpawner, + block_producer: BlockProducer, + messaging_config: Option, +} + +impl Sequencing { + pub fn new( + pool: TxPool, + backend: Arc>, + task_spawner: TaskSpawner, + block_producer: BlockProducer, + messaging_config: Option, + ) -> Self { + Self { pool, backend, task_spawner, block_producer, messaging_config } + } + + async fn run_messaging(&self) -> Result> { + if let Some(config) = &self.messaging_config { + let config = config.clone(); + let pool = self.pool.clone(); + let backend = self.backend.clone(); + + let service = MessagingService::new(config, pool, backend).await?; + let task = MessagingTask::new(service); + + let handle = self.task_spawner.build_task().name("Messaging").spawn(task); + Ok(handle) + } else { + let handle = self.task_spawner.build_task().spawn(future::pending::<()>()); + Ok(handle) + } + } + + fn run_block_production(&self) -> TaskHandle<()> { + let pool = self.pool.clone(); + let miner = TransactionMiner::new(pool.add_listener()); + let block_producer = self.block_producer.clone(); + + let service = BlockProductionTask::new(pool, miner, block_producer); + self.task_spawner.build_task().name("Block production").spawn(service) + } +} + +#[async_trait::async_trait] +impl Stage for Sequencing { + fn id(&self) -> StageId { + StageId::Sequencing + } + + #[tracing::instrument(skip(self), name = "Stage", fields(id = %self.id()))] + async fn execute(&mut self) -> StageResult { + // Build the messaging and block production tasks. + let messaging = self.run_messaging().await?; + let block_production = self.run_block_production(); + + // Neither of these tasks should complete as they are meant to be run forever, + // but if either of them do complete, the sequencing stage should return. + // + // Select on the tasks completion to prevent the task from failing silently (if any). + tokio::select! { + res = messaging => { + error!(target: "pipeline", reason = ?res, "Messaging task finished unexpectedly."); + }, + res = block_production => { + error!(target: "pipeline", reason = ?res, "Block production task finished unexpectedly."); + } + } + + Ok(()) + } +} diff --git a/crates/katana/pool/src/lib.rs b/crates/katana/pool/src/lib.rs index 465f679732..5a607907b1 100644 --- a/crates/katana/pool/src/lib.rs +++ b/crates/katana/pool/src/lib.rs @@ -12,8 +12,9 @@ use katana_primitives::transaction::{ExecutableTxWithHash, TxHash}; use ordering::{FiFo, PoolOrd}; use pool::Pool; use tx::{PendingTx, PoolTransaction}; +use validation::error::InvalidTransactionError; use validation::stateful::TxValidator; -use validation::{InvalidTransactionError, Validator}; +use validation::Validator; /// Katana default transacstion pool type. pub type TxPool = Pool>; diff --git a/crates/katana/pool/src/pool.rs b/crates/katana/pool/src/pool.rs index 47ec956073..1031f17a0f 100644 --- a/crates/katana/pool/src/pool.rs +++ b/crates/katana/pool/src/pool.rs @@ -10,7 +10,8 @@ use tracing::{error, info, warn}; use crate::ordering::PoolOrd; use crate::tx::{PendingTx, PoolTransaction, TxId}; -use crate::validation::{InvalidTransactionError, ValidationOutcome, Validator}; +use crate::validation::error::InvalidTransactionError; +use crate::validation::{ValidationOutcome, Validator}; use crate::{PoolError, PoolResult, TransactionPool}; #[derive(Debug)] diff --git a/crates/katana/pool/src/validation/error.rs b/crates/katana/pool/src/validation/error.rs new file mode 100644 index 0000000000..1dc68d5c14 --- /dev/null +++ b/crates/katana/pool/src/validation/error.rs @@ -0,0 +1,66 @@ +use katana_primitives::class::ClassHash; +use katana_primitives::contract::{ContractAddress, Nonce}; +use katana_primitives::Felt; + +// TODO: figure out how to combine this with ExecutionError +#[derive(Debug, thiserror::Error)] +pub enum InvalidTransactionError { + /// Error when the account's balance is insufficient to cover the specified transaction fee. + #[error("Max fee ({max_fee}) exceeds balance ({balance}).")] + InsufficientFunds { + /// The specified transaction fee. + max_fee: u128, + /// The account's balance of the fee token. + balance: Felt, + }, + + /// Error when the specified transaction fee is insufficient to cover the minimum fee required + /// to start the invocation (including the account's validation logic). + /// + /// It is a static check that is performed before the transaction is invoked to ensure the + /// transaction can cover the intrinsics cost ie data availability, etc. + /// + /// This is different from an error due to transaction runs out of gas during execution ie. + /// the specified max fee is lower than the amount needed to finish the transaction execution + /// (either validation or execution). + #[error("Intrinsic transaction fee is too low")] + IntrinsicFeeTooLow { + /// The minimum required for the transaction to be executed. + min: u128, + /// The specified transaction fee. + max_fee: u128, + }, + + /// Error when the account's validation logic fails (ie __validate__ function). + #[error("{error}")] + ValidationFailure { + /// The address of the contract that failed validation. + address: ContractAddress, + /// The class hash of the account contract. + class_hash: ClassHash, + /// The error message returned by Blockifier. + // TODO: this should be a more specific error type. + error: String, + }, + + /// Error when the transaction's sender is not an account contract. + #[error("Sender is not an account")] + NonAccount { + /// The address of the contract that is not an account. + address: ContractAddress, + }, + + /// Error when the transaction is using a nonexpected nonce. + #[error( + "Invalid transaction nonce of contract at address {address}. Account nonce: \ + {current_nonce:#x}; got: {tx_nonce:#x}." + )] + InvalidNonce { + /// The address of the contract that has the invalid nonce. + address: ContractAddress, + /// The current nonce of the sender's account. + current_nonce: Nonce, + /// The nonce that the tx is using. + tx_nonce: Nonce, + }, +} diff --git a/crates/katana/pool/src/validation/mod.rs b/crates/katana/pool/src/validation/mod.rs index fe885ea276..7544d853ea 100644 --- a/crates/katana/pool/src/validation/mod.rs +++ b/crates/katana/pool/src/validation/mod.rs @@ -1,9 +1,9 @@ +pub mod error; pub mod stateful; -use katana_primitives::class::ClassHash; -use katana_primitives::contract::{ContractAddress, Nonce}; +use error::InvalidTransactionError; +use katana_primitives::contract::Nonce; use katana_primitives::transaction::TxHash; -use katana_primitives::Felt; use crate::tx::PoolTransaction; @@ -16,56 +16,6 @@ pub struct Error { pub error: Box, } -// TODO: figure out how to combine this with ExecutionError -#[derive(Debug, thiserror::Error)] -pub enum InvalidTransactionError { - /// Error when the account's balance is insufficient to cover the specified transaction fee. - #[error("Max fee ({max_fee}) exceeds balance ({balance}).")] - InsufficientFunds { - /// The specified transaction fee. - max_fee: u128, - /// The account's balance of the fee token. - balance: Felt, - }, - - /// Error when the specified transaction fee is insufficient to cover the minimum fee required. - #[error("The specified tx max fee is insufficient")] - InsufficientMaxFee { min_fee: u128, max_fee: u128 }, - - /// Error when the account's validation logic fails (ie __validate__ function). - #[error("{error}")] - ValidationFailure { - /// The address of the contract that failed validation. - address: ContractAddress, - /// The class hash of the account contract. - class_hash: ClassHash, - /// The error message returned by Blockifier. - // TODO: this should be a more specific error type. - error: String, - }, - - /// Error when the transaction's sender is not an account contract. - #[error("sender is not an account")] - NonAccount { - /// The address of the contract that is not an account. - address: ContractAddress, - }, - - /// Error when the transaction is using a nonexpected nonce. - #[error( - "Invalid transaction nonce of contract at address {address}. Account nonce: \ - {current_nonce:#x}; got: {tx_nonce:#x}." - )] - InvalidNonce { - /// The address of the contract that has the invalid nonce. - address: ContractAddress, - /// The current nonce of the sender's account. - current_nonce: Nonce, - /// The nonce that the tx is using. - tx_nonce: Nonce, - }, -} - pub type ValidationResult = Result, Error>; /// A trait for validating transactions before they are added to the transaction pool. diff --git a/crates/katana/pool/src/validation/stateful.rs b/crates/katana/pool/src/validation/stateful.rs index 88052435da..d803c17f1d 100644 --- a/crates/katana/pool/src/validation/stateful.rs +++ b/crates/katana/pool/src/validation/stateful.rs @@ -24,13 +24,13 @@ use parking_lot::Mutex; use super::{Error, InvalidTransactionError, ValidationOutcome, ValidationResult, Validator}; use crate::tx::PoolTransaction; -#[allow(missing_debug_implementations)] -#[derive(Clone)] +#[derive(Debug, Clone)] pub struct TxValidator { inner: Arc>, permit: Arc>, } +#[derive(Debug)] struct Inner { // execution context cfg_env: CfgEnv, @@ -209,7 +209,7 @@ fn map_invalid_tx_err( TransactionFeeError::MaxFeeTooLow { min_fee, max_fee } => { let max_fee = max_fee.0; let min_fee = min_fee.0; - Ok(InvalidTransactionError::InsufficientMaxFee { max_fee, min_fee }) + Ok(InvalidTransactionError::IntrinsicFeeTooLow { max_fee, min: min_fee }) } _ => Err(Box::new(err)), diff --git a/crates/katana/primitives/Cargo.toml b/crates/katana/primitives/Cargo.toml index 8f12ad5ff8..4f6de47088 100644 --- a/crates/katana/primitives/Cargo.toml +++ b/crates/katana/primitives/Cargo.toml @@ -18,7 +18,6 @@ serde_json.workspace = true serde_with.workspace = true starknet.workspace = true starknet-crypto.workspace = true -strum_macros.workspace = true thiserror.workspace = true alloy-primitives.workspace = true @@ -28,6 +27,7 @@ num-bigint = "0.4.6" [dev-dependencies] assert_matches.workspace = true +postcard.workspace = true rstest.workspace = true similar-asserts.workspace = true diff --git a/crates/katana/primitives/src/block.rs b/crates/katana/primitives/src/block.rs index 7c410886a5..7fd904cf32 100644 --- a/crates/katana/primitives/src/block.rs +++ b/crates/katana/primitives/src/block.rs @@ -1,8 +1,9 @@ use starknet::core::crypto::compute_hash_on_elements; use crate::contract::ContractAddress; +use crate::da::L1DataAvailabilityMode; use crate::transaction::{ExecutableTxWithHash, TxHash, TxWithHash}; -use crate::version::Version; +use crate::version::ProtocolVersion; use crate::Felt; pub type BlockIdOrTag = starknet::core::types::BlockId; @@ -15,6 +16,15 @@ pub enum BlockHashOrNumber { Num(BlockNumber), } +impl std::fmt::Display for BlockHashOrNumber { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + BlockHashOrNumber::Num(num) => write!(f, "{num}"), + BlockHashOrNumber::Hash(hash) => write!(f, "{hash:#x}"), + } + } +} + /// Block number type. pub type BlockNumber = u64; /// Block hash type. @@ -34,12 +44,15 @@ pub enum FinalityStatus { pub struct PartialHeader { pub number: BlockNumber, pub parent_hash: Felt, - pub gas_prices: GasPrices, pub timestamp: u64, pub sequencer_address: ContractAddress, - pub version: Version, + pub version: ProtocolVersion, + pub l1_gas_prices: GasPrices, + pub l1_data_gas_prices: GasPrices, + pub l1_da_mode: L1DataAvailabilityMode, } +// TODO: change names to wei and fri /// The L1 gas prices. #[derive(Debug, Default, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] @@ -53,22 +66,40 @@ pub struct GasPrices { } impl GasPrices { - pub fn new(eth_gas_price: u128, strk_gas_price: u128) -> Self { - Self { eth: eth_gas_price, strk: strk_gas_price } + pub fn new(wei_gas_price: u128, fri_gas_price: u128) -> Self { + Self { eth: wei_gas_price, strk: fri_gas_price } } } /// Represents a block header. -#[derive(Debug, Default, Clone, PartialEq, Eq)] +#[derive(Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Header { pub parent_hash: BlockHash, pub number: BlockNumber, - pub gas_prices: GasPrices, pub timestamp: u64, pub state_root: Felt, pub sequencer_address: ContractAddress, - pub version: Version, + pub protocol_version: ProtocolVersion, + pub l1_gas_prices: GasPrices, + pub l1_data_gas_prices: GasPrices, + pub l1_da_mode: L1DataAvailabilityMode, +} + +impl Default for Header { + fn default() -> Self { + Self { + timestamp: 0, + number: BlockNumber::default(), + state_root: Felt::default(), + parent_hash: BlockHash::default(), + l1_gas_prices: GasPrices::default(), + protocol_version: ProtocolVersion::default(), + sequencer_address: ContractAddress::default(), + l1_data_gas_prices: GasPrices::default(), + l1_da_mode: L1DataAvailabilityMode::Calldata, + } + } } impl Header { @@ -76,11 +107,13 @@ impl Header { Self { state_root, number: partial_header.number, - version: partial_header.version, + protocol_version: partial_header.version, timestamp: partial_header.timestamp, - gas_prices: partial_header.gas_prices, parent_hash: partial_header.parent_hash, sequencer_address: partial_header.sequencer_address, + l1_gas_prices: partial_header.l1_gas_prices, + l1_da_mode: partial_header.l1_da_mode, + l1_data_gas_prices: partial_header.l1_data_gas_prices, } } @@ -166,6 +199,8 @@ impl SealedBlock { } /// A sealed block along with its status. +/// +/// Block whose commitment has been computed. #[derive(Debug, Clone)] pub struct SealedBlockWithStatus { pub block: SealedBlock, @@ -185,6 +220,15 @@ impl From for BlockHashOrNumber { } } +impl From for BlockIdOrTag { + fn from(value: BlockHashOrNumber) -> Self { + match value { + BlockHashOrNumber::Hash(hash) => BlockIdOrTag::Hash(hash), + BlockHashOrNumber::Num(number) => BlockIdOrTag::Number(number), + } + } +} + /// A block that can executed. This is a block whose transactions includes /// all the necessary information to be executed. #[derive(Debug, Clone)] diff --git a/crates/katana/primitives/src/chain.rs b/crates/katana/primitives/src/chain.rs index d8c359892f..a1f8408d8e 100644 --- a/crates/katana/primitives/src/chain.rs +++ b/crates/katana/primitives/src/chain.rs @@ -4,7 +4,7 @@ use starknet::macros::short_string; use crate::{Felt, FromStrError}; /// Known chain ids that has been assigned a name. -#[derive(Debug, Clone, Copy, PartialEq, Eq, strum_macros::Display)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum NamedChainId { Mainnet, @@ -44,6 +44,12 @@ impl NamedChainId { } } +impl std::fmt::Display for NamedChainId { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(self.name()) + } +} + /// This `struct` is created by the [`NamedChainId::try_from`] method. #[derive(Debug, thiserror::Error)] #[error("Unknown named chain id {0:#x}")] @@ -185,9 +191,9 @@ mod tests { assert_eq!(ChainId::from(sepolia_id), ChainId::SEPOLIA); assert_eq!(ChainId::from(felt!("0x1337")), ChainId::Id(felt!("0x1337"))); - assert_eq!(ChainId::MAINNET.to_string(), "Mainnet"); - assert_eq!(ChainId::GOERLI.to_string(), "Goerli"); - assert_eq!(ChainId::SEPOLIA.to_string(), "Sepolia"); + assert_eq!(ChainId::MAINNET.to_string(), "SN_MAIN"); + assert_eq!(ChainId::GOERLI.to_string(), "SN_GOERLI"); + assert_eq!(ChainId::SEPOLIA.to_string(), "SN_SEPOLIA"); assert_eq!(ChainId::Id(felt!("0x1337")).to_string(), "0x1337"); } diff --git a/crates/katana/primitives/src/chain_spec.rs b/crates/katana/primitives/src/chain_spec.rs new file mode 100644 index 0000000000..22474c4340 --- /dev/null +++ b/crates/katana/primitives/src/chain_spec.rs @@ -0,0 +1,677 @@ +use std::collections::BTreeMap; + +use alloy_primitives::U256; +use lazy_static::lazy_static; +use starknet::core::types::L1DataAvailabilityMode; +use starknet::core::utils::cairo_short_string_to_felt; +use starknet_crypto::Felt; + +use crate::block::{Block, Header}; +use crate::chain::ChainId; +use crate::class::ClassHash; +use crate::contract::ContractAddress; +use crate::genesis::allocation::{DevAllocationsGenerator, GenesisAllocation}; +use crate::genesis::constant::{ + get_fee_token_balance_base_storage_address, DEFAULT_ACCOUNT_CLASS_PUBKEY_STORAGE_SLOT, + DEFAULT_ETH_FEE_TOKEN_ADDRESS, DEFAULT_LEGACY_ERC20_CLASS_HASH, DEFAULT_LEGACY_UDC_CLASS_HASH, + DEFAULT_PREFUNDED_ACCOUNT_BALANCE, DEFAULT_STRK_FEE_TOKEN_ADDRESS, DEFAULT_UDC_ADDRESS, + ERC20_DECIMAL_STORAGE_SLOT, ERC20_NAME_STORAGE_SLOT, ERC20_SYMBOL_STORAGE_SLOT, + ERC20_TOTAL_SUPPLY_STORAGE_SLOT, +}; +use crate::genesis::Genesis; +use crate::state::StateUpdatesWithDeclaredClasses; +use crate::utils::split_u256; +use crate::version::{ProtocolVersion, CURRENT_STARKNET_VERSION}; + +/// A chain specification. +// TODO: include l1 core contract +// TODO: create a chain spec and genesis builder to abstract inserting aux classes +#[derive(Debug, Clone)] +pub struct ChainSpec { + /// The network chain id. + pub id: ChainId, + /// The genesis block. + pub genesis: Genesis, + /// The chain fee token contract. + pub fee_contracts: FeeContracts, + /// The protocol version. + pub version: ProtocolVersion, +} + +/// Tokens that can be used for transaction fee payments in the chain. As +/// supported on Starknet. +// TODO: include both l1 and l2 addresses +#[derive(Debug, Clone)] +pub struct FeeContracts { + /// L2 ETH fee token address. Used for paying pre-V3 transactions. + pub eth: ContractAddress, + /// L2 STRK fee token address. Used for paying V3 transactions. + pub strk: ContractAddress, +} + +impl ChainSpec { + pub fn block(&self) -> Block { + let header = Header { + protocol_version: self.version.clone(), + number: self.genesis.number, + timestamp: self.genesis.timestamp, + state_root: self.genesis.state_root, + parent_hash: self.genesis.parent_hash, + l1_da_mode: L1DataAvailabilityMode::Calldata, + l1_gas_prices: self.genesis.gas_prices.clone(), + l1_data_gas_prices: self.genesis.gas_prices.clone(), + sequencer_address: self.genesis.sequencer_address, + }; + Block { header, body: Vec::new() } + } + + // this method will include the the ETH and STRK fee tokens, and the UDC + pub fn state_updates(&self) -> StateUpdatesWithDeclaredClasses { + let mut states = StateUpdatesWithDeclaredClasses::default(); + + for (class_hash, class) in &self.genesis.classes { + let class_hash = *class_hash; + + states.state_updates.declared_classes.insert(class_hash, class.compiled_class_hash); + states.declared_compiled_classes.insert(class_hash, class.casm.as_ref().clone()); + + if let Some(sierra) = &class.sierra { + states.declared_sierra_classes.insert(class_hash, sierra.as_ref().clone()); + } + } + + for (address, alloc) in &self.genesis.allocations { + let address = *address; + + if let Some(hash) = alloc.class_hash() { + states.state_updates.deployed_contracts.insert(address, hash); + } + + if let Some(nonce) = alloc.nonce() { + states.state_updates.nonce_updates.insert(address, nonce); + } + + let mut storage = alloc.storage().cloned().unwrap_or_default(); + if let Some(pub_key) = alloc.public_key() { + storage.insert(DEFAULT_ACCOUNT_CLASS_PUBKEY_STORAGE_SLOT, pub_key); + } + + states.state_updates.storage_updates.insert(address, storage); + } + + //-- Fee tokens + + // -- ETH + add_fee_token( + &mut states, + "Ether", + "ETH", + 18, + DEFAULT_ETH_FEE_TOKEN_ADDRESS, + DEFAULT_LEGACY_ERC20_CLASS_HASH, + &self.genesis.allocations, + ); + + // -- STRK + add_fee_token( + &mut states, + "Starknet Token", + "STRK", + 18, + DEFAULT_STRK_FEE_TOKEN_ADDRESS, + DEFAULT_LEGACY_ERC20_CLASS_HASH, + &self.genesis.allocations, + ); + + // -- UDC + + states + .state_updates + .deployed_contracts + .insert(DEFAULT_UDC_ADDRESS, DEFAULT_LEGACY_UDC_CLASS_HASH); + + states + } +} + +impl Default for ChainSpec { + fn default() -> Self { + DEV.clone() + } +} + +lazy_static! { + /// The default chain specification in dev mode. + pub static ref DEV: ChainSpec = { + let mut chain_spec = DEV_UNALLOCATED.clone(); + + let accounts = DevAllocationsGenerator::new(10) + .with_balance(U256::from(DEFAULT_PREFUNDED_ACCOUNT_BALANCE)) + .generate(); + + chain_spec.genesis.extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into()))); + chain_spec + }; + + /// The default chain specification for dev mode but without any allocations. + /// + /// Used when we want to create a chain spec with user defined # of allocations. + pub static ref DEV_UNALLOCATED: ChainSpec = { + let id = ChainId::parse("KATANA").unwrap(); + let genesis = Genesis::default(); + let fee_contracts = FeeContracts { eth: DEFAULT_ETH_FEE_TOKEN_ADDRESS, strk: DEFAULT_STRK_FEE_TOKEN_ADDRESS }; + ChainSpec { id, genesis, fee_contracts, version: CURRENT_STARKNET_VERSION } + }; +} + +fn add_fee_token( + states: &mut StateUpdatesWithDeclaredClasses, + name: &str, + symbol: &str, + decimals: u8, + address: ContractAddress, + class_hash: ClassHash, + allocations: &BTreeMap, +) { + let mut storage = BTreeMap::new(); + let mut total_supply = U256::ZERO; + + // --- set the ERC20 balances for each allocations that have a balance + + for (address, alloc) in allocations { + if let Some(balance) = alloc.balance() { + total_supply += balance; + let (low, high) = split_u256(balance); + + // the base storage address for a standard ERC20 contract balance + let bal_base_storage_var = get_fee_token_balance_base_storage_address(*address); + + // the storage address of low u128 of the balance + let low_bal_storage_var = bal_base_storage_var; + // the storage address of high u128 of the balance + let high_bal_storage_var = bal_base_storage_var + Felt::ONE; + + storage.insert(low_bal_storage_var, low); + storage.insert(high_bal_storage_var, high); + } + } + + // --- ERC20 metadata + + let name = cairo_short_string_to_felt(name).unwrap(); + let symbol = cairo_short_string_to_felt(symbol).unwrap(); + let decimals = decimals.into(); + let (total_supply_low, total_supply_high) = split_u256(total_supply); + + storage.insert(ERC20_NAME_STORAGE_SLOT, name); + storage.insert(ERC20_SYMBOL_STORAGE_SLOT, symbol); + storage.insert(ERC20_DECIMAL_STORAGE_SLOT, decimals); + storage.insert(ERC20_TOTAL_SUPPLY_STORAGE_SLOT, total_supply_low); + storage.insert(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE, total_supply_high); + + states.state_updates.deployed_contracts.insert(address, class_hash); + states.state_updates.storage_updates.insert(address, storage); +} + +#[cfg(test)] +mod tests { + + use std::str::FromStr; + + use alloy_primitives::U256; + use starknet::core::types::L1DataAvailabilityMode; + use starknet::macros::felt; + + use super::*; + use crate::address; + use crate::block::{Block, GasPrices, Header}; + use crate::genesis::allocation::{GenesisAccount, GenesisAccountAlloc, GenesisContractAlloc}; + #[cfg(feature = "slot")] + use crate::genesis::constant::{ + CONTROLLER_ACCOUNT_CLASS, CONTROLLER_ACCOUNT_CLASS_CASM, CONTROLLER_CLASS_HASH, + }; + use crate::genesis::constant::{ + DEFAULT_ACCOUNT_CLASS, DEFAULT_ACCOUNT_CLASS_CASM, DEFAULT_ACCOUNT_CLASS_HASH, + DEFAULT_ACCOUNT_CLASS_PUBKEY_STORAGE_SLOT, DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, + DEFAULT_LEGACY_ERC20_CASM, DEFAULT_LEGACY_ERC20_COMPILED_CLASS_HASH, + DEFAULT_LEGACY_UDC_CASM, DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, + }; + use crate::genesis::GenesisClass; + use crate::version::CURRENT_STARKNET_VERSION; + + #[test] + fn genesis_block_and_state_updates() { + // setup initial states to test + + let classes = BTreeMap::from([ + ( + DEFAULT_LEGACY_UDC_CLASS_HASH, + GenesisClass { + sierra: None, + casm: DEFAULT_LEGACY_UDC_CASM.clone().into(), + compiled_class_hash: DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, + }, + ), + ( + DEFAULT_LEGACY_ERC20_CLASS_HASH, + GenesisClass { + sierra: None, + casm: DEFAULT_LEGACY_ERC20_CASM.clone().into(), + compiled_class_hash: DEFAULT_LEGACY_ERC20_COMPILED_CLASS_HASH, + }, + ), + ( + DEFAULT_ACCOUNT_CLASS_HASH, + GenesisClass { + compiled_class_hash: DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, + casm: DEFAULT_ACCOUNT_CLASS_CASM.clone().into(), + sierra: Some(DEFAULT_ACCOUNT_CLASS.clone().flatten().unwrap().into()), + }, + ), + #[cfg(feature = "slot")] + ( + CONTROLLER_CLASS_HASH, + GenesisClass { + casm: CONTROLLER_ACCOUNT_CLASS_CASM.clone().into(), + compiled_class_hash: CONTROLLER_CLASS_HASH, + sierra: Some(CONTROLLER_ACCOUNT_CLASS.clone().flatten().unwrap().into()), + }, + ), + ]); + + let allocations = [ + ( + address!("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), + GenesisAllocation::Account(GenesisAccountAlloc::Account(GenesisAccount { + public_key: felt!( + "0x01ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca" + ), + balance: Some(U256::from_str("0xD3C21BCECCEDA1000000").unwrap()), + class_hash: DEFAULT_ACCOUNT_CLASS_HASH, + nonce: Some(felt!("0x99")), + storage: Some(BTreeMap::from([ + (felt!("0x1"), felt!("0x1")), + (felt!("0x2"), felt!("0x2")), + ])), + })), + ), + ( + address!("0xdeadbeef"), + GenesisAllocation::Contract(GenesisContractAlloc { + balance: Some(U256::from_str("0xD3C21BCECCEDA1000000").unwrap()), + class_hash: Some(DEFAULT_ACCOUNT_CLASS_HASH), + nonce: Some(felt!("0x100")), + storage: Some(BTreeMap::from([ + (felt!("0x100"), felt!("0x111")), + (felt!("0x200"), felt!("0x222")), + ])), + }), + ), + ( + address!("0x2"), + GenesisAllocation::Account(GenesisAccountAlloc::Account(GenesisAccount { + public_key: felt!("0x2"), + balance: Some(U256::ZERO), + class_hash: DEFAULT_ACCOUNT_CLASS_HASH, + nonce: None, + storage: None, + })), + ), + ]; + let chain_spec = ChainSpec { + id: ChainId::SEPOLIA, + version: CURRENT_STARKNET_VERSION, + genesis: Genesis { + classes, + allocations: BTreeMap::from(allocations.clone()), + number: 0, + timestamp: 5123512314u64, + state_root: felt!("0x99"), + parent_hash: felt!("0x999"), + sequencer_address: address!("0x100"), + gas_prices: GasPrices { eth: 1111, strk: 2222 }, + }, + fee_contracts: FeeContracts { + eth: DEFAULT_ETH_FEE_TOKEN_ADDRESS, + strk: DEFAULT_STRK_FEE_TOKEN_ADDRESS, + }, + }; + + // setup expected storage values + + let expected_block = Block { + header: Header { + number: chain_spec.genesis.number, + timestamp: chain_spec.genesis.timestamp, + state_root: chain_spec.genesis.state_root, + parent_hash: chain_spec.genesis.parent_hash, + sequencer_address: chain_spec.genesis.sequencer_address, + l1_gas_prices: chain_spec.genesis.gas_prices.clone(), + l1_data_gas_prices: chain_spec.genesis.gas_prices.clone(), + l1_da_mode: L1DataAvailabilityMode::Calldata, + protocol_version: CURRENT_STARKNET_VERSION, + }, + body: Vec::new(), + }; + + let actual_block = chain_spec.block(); + let actual_state_updates = chain_spec.state_updates(); + + // assert individual fields of the block + + assert_eq!(actual_block.header.number, expected_block.header.number); + assert_eq!(actual_block.header.timestamp, expected_block.header.timestamp); + assert_eq!(actual_block.header.state_root, expected_block.header.state_root); + assert_eq!(actual_block.header.parent_hash, expected_block.header.parent_hash); + assert_eq!(actual_block.header.sequencer_address, expected_block.header.sequencer_address); + assert_eq!(actual_block.header.l1_gas_prices, expected_block.header.l1_gas_prices); + assert_eq!( + actual_block.header.l1_data_gas_prices, + expected_block.header.l1_data_gas_prices + ); + assert_eq!(actual_block.header.l1_da_mode, expected_block.header.l1_da_mode); + assert_eq!(actual_block.header.protocol_version, expected_block.header.protocol_version); + assert_eq!(actual_block.body, expected_block.body); + + if cfg!(feature = "slot") { + assert!( + actual_state_updates.declared_compiled_classes.len() == 4, + "should be 4 casm classes: udc, erc20, oz account, controller account" + ); + + assert!( + actual_state_updates.declared_sierra_classes.len() == 2, + "should be 2 sierra classes: oz account, controller account" + ); + } else { + assert!( + actual_state_updates.declared_compiled_classes.len() == 3, + "should be 3 casm classes: udc, erc20, oz account" + ); + + assert!( + actual_state_updates.declared_sierra_classes.len() == 1, + "should be only 1 sierra class: oz account" + ); + } + + assert_eq!( + actual_state_updates + .state_updates + .declared_classes + .get(&DEFAULT_LEGACY_ERC20_CLASS_HASH), + Some(&DEFAULT_LEGACY_ERC20_COMPILED_CLASS_HASH), + "The default fee token class should be declared" + ); + + assert_eq!( + actual_state_updates.declared_compiled_classes.get(&DEFAULT_LEGACY_ERC20_CLASS_HASH), + Some(&DEFAULT_LEGACY_ERC20_CASM.clone()), + "The default fee token casm class should be declared" + ); + + assert!( + !actual_state_updates + .declared_sierra_classes + .contains_key(&DEFAULT_LEGACY_ERC20_CLASS_HASH), + "The default fee token class doesnt have a sierra class" + ); + + assert_eq!( + actual_state_updates + .state_updates + .deployed_contracts + .get(&DEFAULT_ETH_FEE_TOKEN_ADDRESS), + Some(&DEFAULT_LEGACY_ERC20_CLASS_HASH), + "The ETH fee token contract should be created" + ); + assert_eq!( + actual_state_updates + .state_updates + .deployed_contracts + .get(&DEFAULT_STRK_FEE_TOKEN_ADDRESS), + Some(&DEFAULT_LEGACY_ERC20_CLASS_HASH), + "The STRK fee token contract should be created" + ); + + assert_eq!( + actual_state_updates.state_updates.declared_classes.get(&DEFAULT_LEGACY_UDC_CLASS_HASH), + Some(&DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH), + "The default universal deployer class should be declared" + ); + + assert_eq!( + actual_state_updates.declared_compiled_classes.get(&DEFAULT_LEGACY_UDC_CLASS_HASH), + Some(&DEFAULT_LEGACY_UDC_CASM.clone()), + "The default universal deployer casm class should be declared" + ); + + assert!( + !actual_state_updates + .declared_sierra_classes + .contains_key(&DEFAULT_LEGACY_UDC_CLASS_HASH), + "The default universal deployer class doesnt have a sierra class" + ); + + assert_eq!( + actual_state_updates.state_updates.deployed_contracts.get(&DEFAULT_UDC_ADDRESS), + Some(&DEFAULT_LEGACY_UDC_CLASS_HASH), + "The universal deployer contract should be created" + ); + + assert_eq!( + actual_state_updates.state_updates.declared_classes.get(&DEFAULT_ACCOUNT_CLASS_HASH), + Some(&DEFAULT_ACCOUNT_COMPILED_CLASS_HASH), + "The default oz account class should be declared" + ); + + assert_eq!( + actual_state_updates + .declared_compiled_classes + .get(&DEFAULT_ACCOUNT_CLASS_HASH) + .unwrap(), + &DEFAULT_ACCOUNT_CLASS_CASM.clone(), + "The default oz account contract casm class should be declared" + ); + + assert_eq!( + actual_state_updates.declared_sierra_classes.get(&DEFAULT_ACCOUNT_CLASS_HASH), + Some(&DEFAULT_ACCOUNT_CLASS.clone().flatten().unwrap()), + "The default oz account contract sierra class should be declared" + ); + + #[cfg(feature = "slot")] + { + assert_eq!( + actual_state_updates.state_updates.declared_classes.get(&CONTROLLER_CLASS_HASH), + Some(&CONTROLLER_CLASS_HASH), + "The controller account class should be declared" + ); + + assert_eq!( + actual_state_updates.declared_compiled_classes.get(&CONTROLLER_CLASS_HASH), + Some(&CONTROLLER_ACCOUNT_CLASS_CASM.clone()), + "The controller account contract casm class should be declared" + ); + + assert_eq!( + actual_state_updates.declared_sierra_classes.get(&CONTROLLER_CLASS_HASH), + Some(&CONTROLLER_ACCOUNT_CLASS.clone().flatten().unwrap()), + "The controller account contract sierra class should be declared" + ); + } + + // check that all contract allocations exist in the state updates + + assert_eq!( + actual_state_updates.state_updates.deployed_contracts.len(), + 6, + "6 contracts should be created: STRK fee token, ETH fee token, universal deployer, \ + and 3 allocations" + ); + + let alloc_1_addr = allocations[0].0; + + let mut account_allocation_storage = allocations[0].1.storage().unwrap().clone(); + account_allocation_storage.insert( + DEFAULT_ACCOUNT_CLASS_PUBKEY_STORAGE_SLOT, + felt!("0x01ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca"), + ); + + assert_eq!( + actual_state_updates.state_updates.deployed_contracts.get(&alloc_1_addr), + allocations[0].1.class_hash().as_ref(), + "allocation should exist" + ); + assert_eq!( + actual_state_updates.state_updates.nonce_updates.get(&alloc_1_addr).cloned(), + allocations[0].1.nonce(), + "allocation nonce should be updated" + ); + assert_eq!( + actual_state_updates.state_updates.storage_updates.get(&alloc_1_addr).cloned(), + Some(account_allocation_storage), + "account allocation storage should be updated" + ); + + let alloc_2_addr = allocations[1].0; + + assert_eq!( + actual_state_updates.state_updates.deployed_contracts.get(&alloc_2_addr), + allocations[1].1.class_hash().as_ref(), + "allocation should exist" + ); + assert_eq!( + actual_state_updates.state_updates.nonce_updates.get(&alloc_2_addr).cloned(), + allocations[1].1.nonce(), + "allocation nonce should be updated" + ); + assert_eq!( + actual_state_updates.state_updates.storage_updates.get(&alloc_2_addr), + allocations[1].1.storage(), + "allocation storage should be updated" + ); + + let alloc_3_addr = allocations[2].0; + + assert_eq!( + actual_state_updates.state_updates.deployed_contracts.get(&alloc_3_addr), + allocations[2].1.class_hash().as_ref(), + "allocation should exist" + ); + assert_eq!( + actual_state_updates.state_updates.nonce_updates.get(&alloc_3_addr).cloned(), + allocations[2].1.nonce(), + "allocation nonce should be updated" + ); + assert_eq!( + actual_state_updates.state_updates.storage_updates.get(&alloc_3_addr).cloned(), + Some(BTreeMap::from([(DEFAULT_ACCOUNT_CLASS_PUBKEY_STORAGE_SLOT, felt!("0x2"))])), + "account allocation storage should be updated" + ); + + // check ETH fee token contract storage + + // there are only two allocations with a balance so the total token supply is + // 0xD3C21BCECCEDA1000000 * 2 = 0x1a784379d99db42000000 + let (total_supply_low, total_supply_high) = + split_u256(U256::from_str("0x1a784379d99db42000000").unwrap()); + + let name = cairo_short_string_to_felt("Ether").unwrap(); + let symbol = cairo_short_string_to_felt("ETH").unwrap(); + let decimals = Felt::from(18); + + let eth_fee_token_storage = actual_state_updates + .state_updates + .storage_updates + .get(&DEFAULT_ETH_FEE_TOKEN_ADDRESS) + .unwrap(); + + assert_eq!(eth_fee_token_storage.get(&ERC20_NAME_STORAGE_SLOT), Some(&name)); + assert_eq!(eth_fee_token_storage.get(&ERC20_SYMBOL_STORAGE_SLOT), Some(&symbol)); + assert_eq!(eth_fee_token_storage.get(&ERC20_DECIMAL_STORAGE_SLOT), Some(&decimals)); + assert_eq!( + eth_fee_token_storage.get(&ERC20_TOTAL_SUPPLY_STORAGE_SLOT), + Some(&total_supply_low) + ); + assert_eq!( + eth_fee_token_storage.get(&(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE)), + Some(&total_supply_high) + ); + + // check STRK fee token contract storage + + let strk_name = cairo_short_string_to_felt("Starknet Token").unwrap(); + let strk_symbol = cairo_short_string_to_felt("STRK").unwrap(); + let strk_decimals = Felt::from(18); + + let strk_fee_token_storage = actual_state_updates + .state_updates + .storage_updates + .get(&DEFAULT_STRK_FEE_TOKEN_ADDRESS) + .unwrap(); + + assert_eq!(strk_fee_token_storage.get(&ERC20_NAME_STORAGE_SLOT), Some(&strk_name)); + assert_eq!(strk_fee_token_storage.get(&ERC20_SYMBOL_STORAGE_SLOT), Some(&strk_symbol)); + assert_eq!(strk_fee_token_storage.get(&ERC20_DECIMAL_STORAGE_SLOT), Some(&strk_decimals)); + assert_eq!( + strk_fee_token_storage.get(&ERC20_TOTAL_SUPPLY_STORAGE_SLOT), + Some(&total_supply_low) + ); + assert_eq!( + strk_fee_token_storage.get(&(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE)), + Some(&total_supply_high) + ); + + let mut allocs_total_supply = U256::ZERO; + + // check for balance in both ETH and STRK + for (address, alloc) in &allocations { + if let Some(balance) = alloc.balance() { + let (low, high) = split_u256(balance); + + // the base storage address for a standard ERC20 contract balance + let bal_base_storage_var = get_fee_token_balance_base_storage_address(*address); + + // the storage address of low u128 of the balance + let low_bal_storage_var = bal_base_storage_var; + // the storage address of high u128 of the balance + let high_bal_storage_var = bal_base_storage_var + Felt::ONE; + + assert_eq!(eth_fee_token_storage.get(&low_bal_storage_var), Some(&low)); + assert_eq!(eth_fee_token_storage.get(&high_bal_storage_var), Some(&high)); + + assert_eq!(strk_fee_token_storage.get(&low_bal_storage_var), Some(&low)); + assert_eq!(strk_fee_token_storage.get(&high_bal_storage_var), Some(&high)); + + allocs_total_supply += balance; + } + } + // Check that the total supply is the sum of all balances in the allocations. + // Technically this is not necessary bcs we already checked the total supply in + // the fee token storage but it's a good sanity check. + + let (actual_total_supply_low, actual_total_supply_high) = split_u256(allocs_total_supply); + assert_eq!( + eth_fee_token_storage.get(&ERC20_TOTAL_SUPPLY_STORAGE_SLOT), + Some(&actual_total_supply_low), + "ETH total supply must be calculated from allocations balances correctly" + ); + assert_eq!( + eth_fee_token_storage.get(&(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE)), + Some(&actual_total_supply_high), + "ETH total supply must be calculated from allocations balances correctly" + ); + + assert_eq!( + strk_fee_token_storage.get(&ERC20_TOTAL_SUPPLY_STORAGE_SLOT), + Some(&actual_total_supply_low), + "STRK total supply must be calculated from allocations balances correctly" + ); + assert_eq!( + strk_fee_token_storage.get(&(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE)), + Some(&actual_total_supply_high), + "STRK total supply must be calculated from allocations balances correctly" + ); + } +} diff --git a/crates/katana/primitives/src/contract.rs b/crates/katana/primitives/src/contract.rs index fe93ec1712..08f2831da9 100644 --- a/crates/katana/primitives/src/contract.rs +++ b/crates/katana/primitives/src/contract.rs @@ -1,5 +1,6 @@ use std::fmt; +use num_bigint::BigUint; use starknet::core::utils::normalize_address; use crate::class::ClassHash; @@ -50,6 +51,18 @@ impl From for Felt { } } +impl From<&BigUint> for ContractAddress { + fn from(biguint: &BigUint) -> Self { + Self::new(Felt::from_bytes_le_slice(&biguint.to_bytes_le())) + } +} + +impl From for ContractAddress { + fn from(biguint: BigUint) -> Self { + Self::new(Felt::from_bytes_le_slice(&biguint.to_bytes_le())) + } +} + #[macro_export] macro_rules! address { ($value:expr) => { diff --git a/crates/katana/primitives/src/conversion/rpc.rs b/crates/katana/primitives/src/conversion/rpc.rs index 76db13145e..257b37ea1b 100644 --- a/crates/katana/primitives/src/conversion/rpc.rs +++ b/crates/katana/primitives/src/conversion/rpc.rs @@ -275,12 +275,12 @@ mod tests { use super::{legacy_inner_to_rpc_class, legacy_rpc_to_compiled_class}; use crate::class::{CompiledClass, DeprecatedCompiledClass}; - use crate::genesis::constant::DEFAULT_OZ_ACCOUNT_CONTRACT; + use crate::genesis::constant::DEFAULT_ACCOUNT_CLASS; use crate::utils::class::parse_deprecated_compiled_class; #[test] fn legacy_rpc_to_inner_and_back() { - let json = include_str!("../../../contracts/compiled/account.json"); + let json = include_str!("../../../contracts/build/account.json"); let json = serde_json::from_str(json).unwrap(); let class: DeprecatedCompiledClass = parse_deprecated_compiled_class(json).unwrap(); @@ -301,7 +301,7 @@ mod tests { #[test] fn flattened_sierra_class_to_compiled_class() { - let sierra = DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten().unwrap(); + let sierra = DEFAULT_ACCOUNT_CLASS.clone().flatten().unwrap(); assert!(super::flattened_sierra_to_compiled_class(&sierra).is_ok()); } } diff --git a/crates/katana/primitives/src/da/encoding.rs b/crates/katana/primitives/src/da/encoding.rs index aabf055532..832aebdd1f 100644 --- a/crates/katana/primitives/src/da/encoding.rs +++ b/crates/katana/primitives/src/da/encoding.rs @@ -139,7 +139,7 @@ pub fn decode_state_updates(value: &[BigUint]) -> Result { @@ -352,9 +353,9 @@ mod tests { assert_eq!(state_updates.declared_classes.len(), 1); assert_eq!(state_updates.deployed_contracts.len(), 0); - let address: ContractAddress = - felt!("2019172390095051323869047481075102003731246132997057518965927979101413600827") - .into(); + let address = address!( + "2019172390095051323869047481075102003731246132997057518965927979101413600827" + ); assert_eq!(state_updates.nonce_updates.get(&address), Some(&Felt::ONE)); diff --git a/crates/katana/primitives/src/da/mod.rs b/crates/katana/primitives/src/da/mod.rs index d572ba4f73..a2fa9776f4 100644 --- a/crates/katana/primitives/src/da/mod.rs +++ b/crates/katana/primitives/src/da/mod.rs @@ -3,3 +3,5 @@ pub mod eip4844; pub mod encoding; pub mod math; pub mod serde; + +pub use ::starknet::core::types::L1DataAvailabilityMode; diff --git a/crates/katana/primitives/src/env.rs b/crates/katana/primitives/src/env.rs index 14709ed5af..4c3b88ad48 100644 --- a/crates/katana/primitives/src/env.rs +++ b/crates/katana/primitives/src/env.rs @@ -11,6 +11,8 @@ pub struct BlockEnv { pub timestamp: u64, /// The L1 gas prices at this particular block. pub l1_gas_prices: GasPrices, + /// The L1 data gas prices at this particular block. + pub l1_data_gas_prices: GasPrices, /// The contract address of the sequencer. pub sequencer_address: ContractAddress, } diff --git a/crates/katana/primitives/src/genesis/allocation.rs b/crates/katana/primitives/src/genesis/allocation.rs index f6822994f7..b63d878bb6 100644 --- a/crates/katana/primitives/src/genesis/allocation.rs +++ b/crates/katana/primitives/src/genesis/allocation.rs @@ -10,7 +10,7 @@ use starknet::core::serde::unsigned_field_element::{UfeHex, UfeHexOption}; use starknet::core::utils::get_contract_address; use starknet::signers::SigningKey; -use super::constant::DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH; +use super::constant::DEFAULT_ACCOUNT_CLASS_HASH; use crate::class::ClassHash; use crate::contract::{ContractAddress, StorageKey, StorageValue}; use crate::Felt; @@ -233,12 +233,7 @@ impl DevAllocationsGenerator { /// /// This will return a [DevAllocationsGenerator] with the default parameters. pub fn new(total: u16) -> Self { - Self { - total, - seed: [0u8; 32], - balance: U256::ZERO, - class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, - } + Self { total, seed: [0u8; 32], balance: U256::ZERO, class_hash: DEFAULT_ACCOUNT_CLASS_HASH } } pub fn with_class(self, class_hash: ClassHash) -> Self { diff --git a/crates/katana/primitives/src/genesis/constant.rs b/crates/katana/primitives/src/genesis/constant.rs index 87da9783d0..e3ffec76aa 100644 --- a/crates/katana/primitives/src/genesis/constant.rs +++ b/crates/katana/primitives/src/genesis/constant.rs @@ -8,19 +8,23 @@ use crate::utils::class::{parse_compiled_class, parse_sierra_class}; use crate::Felt; /// The default universal deployer contract address. -/// Corresponds to 0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf pub const DEFAULT_UDC_ADDRESS: ContractAddress = ContractAddress(felt!("0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf")); -/// The default fee token contract address. -/// Corresponds to 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7 -pub const DEFAULT_FEE_TOKEN_ADDRESS: ContractAddress = +/// The default ETH fee token contract address. +/// See https://github.com/starknet-io/starknet-addresses/blob/master/bridged_tokens/mainnet.json +pub const DEFAULT_ETH_FEE_TOKEN_ADDRESS: ContractAddress = ContractAddress(felt!("0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7")); -/// The standard storage address for `public key` in OpenZeppelin account contract. +/// The default STRK fee token contract address. +/// See https://github.com/starknet-io/starknet-addresses/blob/master/bridged_tokens/mainnet.json +pub const DEFAULT_STRK_FEE_TOKEN_ADDRESS: ContractAddress = + ContractAddress(felt!("0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d")); + +/// The standard storage address for `public key` in the default account class. /// Corresponds to keccak("Account_public_key") == /// 0x1379ac0624b939ceb9dede92211d7db5ee174fe28be72245b0a1a2abd81c98f -pub const OZ_ACCOUNT_CONTRACT_PUBKEY_STORAGE_SLOT: StorageKey = +pub const DEFAULT_ACCOUNT_CLASS_PUBKEY_STORAGE_SLOT: StorageKey = felt!("0x1379ac0624b939ceb9dede92211d7db5ee174fe28be72245b0a1a2abd81c98f"); /// The standard storage address for `ERC20_name` in ERC20 contract. @@ -52,12 +56,12 @@ pub const DEFAULT_PREFUNDED_ACCOUNT_BALANCE: u128 = 10 * u128::pow(10, 21); /// The class hash of DEFAULT_LEGACY_ERC20_CONTRACT_CASM. /// Corresponds to 0x02a8846878b6ad1f54f6ba46f5f40e11cee755c677f130b2c4b60566c9003f1f -pub const DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH: ClassHash = +pub const DEFAULT_LEGACY_ERC20_CLASS_HASH: ClassHash = felt!("0x02a8846878b6ad1f54f6ba46f5f40e11cee755c677f130b2c4b60566c9003f1f"); /// The compiled class hash of DEFAULT_LEGACY_ERC20_CONTRACT_CASM. -pub const DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH: CompiledClassHash = - DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH; +pub const DEFAULT_LEGACY_ERC20_COMPILED_CLASS_HASH: CompiledClassHash = + DEFAULT_LEGACY_ERC20_CLASS_HASH; /// The class hash of DEFAULT_LEGACY_UDC_CASM. /// Corresponds to 0x07b3e05f48f0c69e4a65ce5e076a66271a527aff2c34ce1083ec6e1526997a69 @@ -67,17 +71,16 @@ pub const DEFAULT_LEGACY_UDC_CLASS_HASH: ClassHash = /// The compiled class hash of DEFAULT_LEGACY_UDC_CASM. pub const DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH: CompiledClassHash = DEFAULT_LEGACY_UDC_CLASS_HASH; -/// The class hash of DEFAULT_OZ_ACCOUNT_CONTRACT. -/// Corresponds to 0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c -pub const DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH: ClassHash = - felt!("0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c"); +/// The class hash of [`DEFAULT_ACCOUNT_CLASS`]. +pub const DEFAULT_ACCOUNT_CLASS_HASH: ClassHash = + felt!("0x07dc7899aa655b0aae51eadff6d801a58e97dd99cf4666ee59e704249e51adf2"); -/// The compiled class hash of DEFAULT_OZ_ACCOUNT_CONTRACT. -/// Corresponds to 0x016c6081eb34ad1e0c5513234ed0c025b3c7f305902d291bad534cd6474c85bc -pub const DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH: CompiledClassHash = - felt!("0x016c6081eb34ad1e0c5513234ed0c025b3c7f305902d291bad534cd6474c85bc"); +/// The compiled class hash of [`DEFAULT_ACCOUNT_CLASS`]. +pub const DEFAULT_ACCOUNT_COMPILED_CLASS_HASH: CompiledClassHash = + felt!("0x01b97e0ef7f5c2f2b7483cda252a3accc7f917773fb69d4bd290f92770069aec"); -pub const CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH: ClassHash = +/// Cartridge Controller account class hash. +pub const CONTROLLER_CLASS_HASH: ClassHash = felt!("0x024a9edbfa7082accfceabf6a92d7160086f346d622f28741bf1c651c412c9ab"); // Pre-compiled contract classes @@ -85,28 +88,28 @@ lazy_static! { // Default fee token contract // pub static ref DEFAULT_LEGACY_ERC20_CONTRACT_CASM: CompiledContractClass = parse_compiled_class(include_str!("../../contracts/compiled/erc20.json")).unwrap(); - pub static ref DEFAULT_LEGACY_ERC20_CONTRACT_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/compiled/erc20.json")); + pub static ref DEFAULT_LEGACY_ERC20_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/build/erc20.json")); // Default universal deployer - pub static ref DEFAULT_LEGACY_UDC_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/compiled/universal_deployer.json")); + pub static ref DEFAULT_LEGACY_UDC_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/build/universal_deployer.json")); // Default account contract - pub static ref DEFAULT_OZ_ACCOUNT_CONTRACT: SierraClass = parse_sierra_class(include_str!("../../../contracts/compiled/oz_account_080.json")).unwrap(); - pub static ref DEFAULT_OZ_ACCOUNT_CONTRACT_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/compiled/oz_account_080.json")); + pub static ref DEFAULT_ACCOUNT_CLASS: SierraClass = parse_sierra_class(include_str!("../../../contracts/build/default_account.json")).unwrap(); + pub static ref DEFAULT_ACCOUNT_CLASS_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/build/default_account.json")); } #[cfg(feature = "controller")] lazy_static! { // Cartridge Controller account - pub static ref CONTROLLER_ACCOUNT_CONTRACT: SierraClass = parse_sierra_class(include_str!("../../../contracts/compiled/controller_CartridgeAccount.contract_class.json")).unwrap(); - pub static ref CONTROLLER_ACCOUNT_CONTRACT_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/compiled/controller_CartridgeAccount.contract_class.json")); + pub static ref CONTROLLER_ACCOUNT_CLASS: SierraClass = parse_sierra_class(include_str!("../../../contracts/build/controller_CartridgeAccount.contract_class.json")).unwrap(); + pub static ref CONTROLLER_ACCOUNT_CLASS_CASM: CompiledClass = read_compiled_class_artifact(include_str!("../../../contracts/build/controller_CartridgeAccount.contract_class.json")); } /// A helper function to get the base storage address for the fee token balance of a given account. /// /// This is to compute the base storage address of the balance because the fee token balance is /// stored as a U256 value and as such has to be split into two U128 values (low and high). -pub(super) fn get_fee_token_balance_base_storage_address(address: ContractAddress) -> Felt { +pub fn get_fee_token_balance_base_storage_address(address: ContractAddress) -> Felt { get_storage_var_address("ERC20_balances", &[address.into()]).unwrap() } @@ -121,9 +124,9 @@ mod tests { #[cfg(feature = "controller")] #[test] fn controller_class_hash() { - use super::{CONTROLLER_ACCOUNT_CONTRACT, CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH}; + use super::{CONTROLLER_ACCOUNT_CLASS, CONTROLLER_CLASS_HASH}; - let hash = CONTROLLER_ACCOUNT_CONTRACT.class_hash().unwrap(); - assert_eq!(hash, CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH) + let hash = CONTROLLER_ACCOUNT_CLASS.class_hash().unwrap(); + assert_eq!(hash, CONTROLLER_CLASS_HASH) } } diff --git a/crates/katana/primitives/src/genesis/json.rs b/crates/katana/primitives/src/genesis/json.rs index 2eb0065721..e905919cf5 100644 --- a/crates/katana/primitives/src/genesis/json.rs +++ b/crates/katana/primitives/src/genesis/json.rs @@ -26,18 +26,13 @@ use super::allocation::{ }; #[cfg(feature = "slot")] use super::constant::{ - CONTROLLER_ACCOUNT_CONTRACT, CONTROLLER_ACCOUNT_CONTRACT_CASM, - CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, + CONTROLLER_ACCOUNT_CLASS, CONTROLLER_ACCOUNT_CLASS_CASM, CONTROLLER_CLASS_HASH, }; use super::constant::{ - DEFAULT_FEE_TOKEN_ADDRESS, DEFAULT_LEGACY_ERC20_CONTRACT_CASM, - DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH, - DEFAULT_LEGACY_UDC_CASM, DEFAULT_LEGACY_UDC_CLASS_HASH, DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, - DEFAULT_OZ_ACCOUNT_CONTRACT, DEFAULT_OZ_ACCOUNT_CONTRACT_CASM, - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, - DEFAULT_UDC_ADDRESS, + DEFAULT_ACCOUNT_CLASS, DEFAULT_ACCOUNT_CLASS_CASM, DEFAULT_ACCOUNT_CLASS_HASH, + DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, }; -use super::{FeeTokenConfig, Genesis, GenesisAllocation, UniversalDeployerConfig}; +use super::{Genesis, GenesisAllocation}; use crate::block::{BlockHash, BlockNumber, GasPrices}; use crate::class::{ClassHash, CompiledClass, SierraClass}; use crate::contract::{ContractAddress, StorageKey, StorageValue}; @@ -150,32 +145,6 @@ impl<'de> Deserialize<'de> for ClassNameOrHash { } } -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)] -#[serde(rename_all = "camelCase")] -pub struct FeeTokenConfigJson { - pub name: String, - pub symbol: String, - pub address: Option, - pub decimals: u8, - /// The class hash of the fee token contract. - /// If not provided, the default fee token class is used. - pub class: Option, - /// To initialize the fee token contract storage - pub storage: Option>, -} - -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] -pub struct UniversalDeployerConfigJson { - /// The address of the universal deployer contract. - /// If not provided, the default UD address is used. - pub address: Option, - /// The class hash of the universal deployer contract. - /// If not provided, the default UD class is used. - pub class: Option, - /// To initialize the UD contract storage - pub storage: Option>, -} - #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct GenesisContractJson { @@ -264,8 +233,8 @@ pub struct GenesisJson { pub gas_prices: GasPrices, #[serde(default)] pub classes: Vec, - pub fee_token: FeeTokenConfigJson, - pub universal_deployer: Option, + // pub fee_token: FeeTokenConfigJson, + // pub universal_deployer: Option, #[serde(default)] pub accounts: BTreeMap, #[serde(default)] @@ -326,11 +295,11 @@ impl TryFrom for Genesis { // Adding this by default so that we can support mounting the genesis file from k8s // ConfigMap when we embed the Controller class, and its capacity is only limited to 1MiB. classes.insert( - CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, + CONTROLLER_CLASS_HASH, GenesisClass { - casm: Arc::new(CONTROLLER_ACCOUNT_CONTRACT_CASM.clone()), - compiled_class_hash: CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, - sierra: Some(Arc::new(CONTROLLER_ACCOUNT_CONTRACT.clone().flatten()?)), + casm: Arc::new(CONTROLLER_ACCOUNT_CLASS_CASM.clone()), + compiled_class_hash: CONTROLLER_CLASS_HASH, + sierra: Some(Arc::new(CONTROLLER_ACCOUNT_CLASS.clone().flatten()?)), }, ); @@ -398,103 +367,6 @@ impl TryFrom for Genesis { classes.insert(class_hash, GenesisClass { compiled_class_hash, sierra, casm }); } - let fee_token = FeeTokenConfig { - name: value.fee_token.name, - symbol: value.fee_token.symbol, - decimals: value.fee_token.decimals, - address: value.fee_token.address.unwrap_or(DEFAULT_FEE_TOKEN_ADDRESS), - class_hash: match value.fee_token.class { - Some(ClassNameOrHash::Hash(class_hash)) => class_hash, - Some(ClassNameOrHash::Name(ref class_name)) => *class_names - .get(class_name) - .ok_or_else(|| GenesisJsonError::UnknownClassName(class_name.clone()))?, - None => DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - }, - storage: value.fee_token.storage, - }; - - match value.fee_token.class { - Some(ClassNameOrHash::Hash(hash)) => { - if !classes.contains_key(&hash) { - return Err(GenesisJsonError::MissingClass(hash)); - } - } - - Some(ClassNameOrHash::Name(name)) => { - let hash = class_names - .get(&name) - .ok_or_else(|| GenesisJsonError::UnknownClassName(name.clone()))?; - - if !classes.contains_key(hash) { - return Err(GenesisJsonError::MissingClass(*hash)); - } - } - - // if no class hash is provided, use the default fee token class - None => { - let _ = classes.insert( - DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - GenesisClass { - sierra: None, - casm: Arc::new(DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()), - compiled_class_hash: DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH, - }, - ); - } - }; - - let universal_deployer = if let Some(config) = value.universal_deployer { - match config.class { - Some(ClassNameOrHash::Hash(hash)) => { - if !classes.contains_key(&hash) { - return Err(GenesisJsonError::MissingClass(hash)); - } - - Some(UniversalDeployerConfig { - class_hash: hash, - address: config.address.unwrap_or(DEFAULT_UDC_ADDRESS), - storage: config.storage, - }) - } - - Some(ClassNameOrHash::Name(name)) => { - let hash = class_names - .get(&name) - .ok_or_else(|| GenesisJsonError::UnknownClassName(name))?; - - if !classes.contains_key(hash) { - return Err(GenesisJsonError::MissingClass(*hash)); - } - - Some(UniversalDeployerConfig { - class_hash: *hash, - address: config.address.unwrap_or(DEFAULT_UDC_ADDRESS), - storage: config.storage, - }) - } - - // if no class hash is provided, use the default UD contract parameters - None => { - let class_hash = DEFAULT_LEGACY_UDC_CLASS_HASH; - let address = config.address.unwrap_or(DEFAULT_UDC_ADDRESS); - let storage = config.storage; - - let _ = classes.insert( - DEFAULT_LEGACY_UDC_CLASS_HASH, - GenesisClass { - sierra: None, - casm: Arc::new(DEFAULT_LEGACY_UDC_CASM.clone()), - compiled_class_hash: DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, - }, - ); - - Some(UniversalDeployerConfig { class_hash, address, storage }) - } - } - } else { - None - }; - let mut allocations: BTreeMap = BTreeMap::new(); for (address, account) in value.accounts { @@ -521,18 +393,16 @@ impl TryFrom for Genesis { None => { // check that the default account class exists in the classes field before // inserting it - if let btree_map::Entry::Vacant(e) = - classes.entry(DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH) - { + if let btree_map::Entry::Vacant(e) = classes.entry(DEFAULT_ACCOUNT_CLASS_HASH) { // insert default account class to the classes map e.insert(GenesisClass { - casm: Arc::new(DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone()), - sierra: Some(Arc::new(DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten()?)), - compiled_class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, + casm: Arc::new(DEFAULT_ACCOUNT_CLASS_CASM.clone()), + sierra: Some(Arc::new(DEFAULT_ACCOUNT_CLASS.clone().flatten()?)), + compiled_class_hash: DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, }); } - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH + DEFAULT_ACCOUNT_CLASS_HASH } }; @@ -602,9 +472,7 @@ impl TryFrom for Genesis { Ok(Genesis { classes, - fee_token, allocations, - universal_deployer, number: value.number, sequencer_address: value.sequencer_address, timestamp: value.timestamp, @@ -678,6 +546,7 @@ mod tests { use super::*; use crate::address; + use crate::genesis::constant::{DEFAULT_LEGACY_ERC20_CASM, DEFAULT_LEGACY_UDC_CASM}; #[test] fn deserialize_from_json() { @@ -691,26 +560,6 @@ mod tests { assert_eq!(json.gas_prices.eth, 1111); assert_eq!(json.gas_prices.strk, 2222); - assert_eq!(json.fee_token.address, Some(address!("0x55"))); - assert_eq!(json.fee_token.name, String::from("ETHER")); - assert_eq!(json.fee_token.symbol, String::from("ETH")); - assert_eq!(json.fee_token.class, Some(ClassNameOrHash::Name(String::from("MyErc20")))); - assert_eq!(json.fee_token.decimals, 18); - assert_eq!( - json.fee_token.storage, - Some(BTreeMap::from([(felt!("0x111"), felt!("0x1")), (felt!("0x222"), felt!("0x2"))])) - ); - - assert_eq!( - json.universal_deployer.clone().unwrap().address, - Some(address!("0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf")) - ); - assert_eq!(json.universal_deployer.unwrap().class, None); - assert_eq!( - json.fee_token.storage, - Some(BTreeMap::from([(felt!("0x111"), felt!("0x1")), (felt!("0x222"), felt!("0x2")),])) - ); - let acc_1 = address!("0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a"); let acc_2 = address!("0x6b86e40118f29ebe393a75469b4d926c7a44c2e2681b6d319520b7c1156d114"); let acc_3 = address!("0x79156ecb3d8f084001bb498c95e37fa1c4b40dbb35a3ae47b77b1ad535edcb9"); @@ -802,18 +651,17 @@ mod tests { vec![ GenesisClassJson { class_hash: Some(felt!("0x8")), - class: PathBuf::from("../../../contracts/compiled/erc20.json").into(), + class: PathBuf::from("../../../contracts/build/erc20.json").into(), name: Some("MyErc20".to_string()), }, GenesisClassJson { class_hash: Some(felt!("0x80085")), - class: PathBuf::from("../../../contracts/compiled/universal_deployer.json") - .into(), + class: PathBuf::from("../../../contracts/build/universal_deployer.json").into(), name: None, }, GenesisClassJson { class_hash: None, - class: PathBuf::from("../../../contracts/compiled/oz_account_080.json").into(), + class: PathBuf::from("../../../contracts/build/default_account.json").into(), name: Some("MyClass".to_string()), }, ] @@ -831,20 +679,20 @@ mod tests { vec![ GenesisClassJson { class_hash: None, - class: PathBuf::from("../../../contracts/compiled/erc20.json").into(), + class: PathBuf::from("../../../contracts/build/erc20.json").into(), name: Some("MyErc20".to_string()), }, GenesisClassJson { class_hash: Some(felt!("0x80085")), class: PathBuf::from( - "../../../contracts/compiled/universal_deployer.json" + "../../../contracts/build/universal_deployer.json" ) .into(), name: None, }, GenesisClassJson { class_hash: Some(felt!("0xa55")), - class: serde_json::to_value(DEFAULT_OZ_ACCOUNT_CONTRACT.clone()) + class: serde_json::to_value(DEFAULT_ACCOUNT_CLASS.clone()) .unwrap() .into(), name: None, @@ -867,62 +715,40 @@ mod tests { let expected_classes = BTreeMap::from([ ( - felt!("0x07b3e05f48f0c69e4a65ce5e076a66271a527aff2c34ce1083ec6e1526997a69"), + felt!("0x8"), GenesisClass { + compiled_class_hash: felt!("0x8"), + casm: DEFAULT_LEGACY_ERC20_CASM.clone().into(), sierra: None, - casm: DEFAULT_LEGACY_UDC_CASM.clone().into(), - compiled_class_hash: felt!( - "0x07b3e05f48f0c69e4a65ce5e076a66271a527aff2c34ce1083ec6e1526997a69" - ), }, ), ( felt!("0x80085"), GenesisClass { - sierra: None, - casm: DEFAULT_LEGACY_UDC_CASM.clone().into(), compiled_class_hash: felt!("0x80085"), - }, - ), - ( - felt!("0x8"), - GenesisClass { + casm: DEFAULT_LEGACY_UDC_CASM.clone().into(), sierra: None, - compiled_class_hash: felt!("0x8"), - casm: DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone().into(), }, ), ( - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, + DEFAULT_ACCOUNT_CLASS_HASH, GenesisClass { - compiled_class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, - casm: DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone().into(), - sierra: Some(DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten().unwrap().into()), + compiled_class_hash: DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, + casm: DEFAULT_ACCOUNT_CLASS_CASM.clone().into(), + sierra: Some(DEFAULT_ACCOUNT_CLASS.clone().flatten().unwrap().into()), }, ), #[cfg(feature = "slot")] ( - CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, + CONTROLLER_CLASS_HASH, GenesisClass { - casm: Arc::new(CONTROLLER_ACCOUNT_CONTRACT_CASM.clone()), - compiled_class_hash: CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, - sierra: Some(Arc::new(CONTROLLER_ACCOUNT_CONTRACT.clone().flatten().unwrap())), + casm: Arc::new(CONTROLLER_ACCOUNT_CLASS_CASM.clone()), + compiled_class_hash: CONTROLLER_CLASS_HASH, + sierra: Some(Arc::new(CONTROLLER_ACCOUNT_CLASS.clone().flatten().unwrap())), }, ), ]); - let expected_fee_token = FeeTokenConfig { - address: address!("0x55"), - name: String::from("ETHER"), - symbol: String::from("ETH"), - decimals: 18, - class_hash: felt!("0x8"), - storage: Some(BTreeMap::from([ - (felt!("0x111"), felt!("0x1")), - (felt!("0x222"), felt!("0x2")), - ])), - }; - let acc_1 = address!("0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a"); let acc_2 = address!("0x6b86e40118f29ebe393a75469b4d926c7a44c2e2681b6d319520b7c1156d114"); let acc_3 = address!("0x79156ecb3d8f084001bb498c95e37fa1c4b40dbb35a3ae47b77b1ad535edcb9"); @@ -953,7 +779,7 @@ mod tests { GenesisAllocation::Account(GenesisAccountAlloc::Account(GenesisAccount { public_key: felt!("0x2"), balance: Some(U256::from_str("0xD3C21BCECCEDA1000000").unwrap()), - class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, + class_hash: DEFAULT_ACCOUNT_CLASS_HASH, nonce: None, storage: None, })), @@ -963,7 +789,7 @@ mod tests { GenesisAllocation::Account(GenesisAccountAlloc::Account(GenesisAccount { public_key: felt!("0x3"), balance: None, - class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, + class_hash: DEFAULT_ACCOUNT_CLASS_HASH, nonce: None, storage: None, })), @@ -975,7 +801,7 @@ mod tests { inner: GenesisAccount { public_key: felt!("0x4"), balance: Some(U256::from_str("0xD3C21BCECCEDA1000000").unwrap()), - class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, + class_hash: DEFAULT_ACCOUNT_CLASS_HASH, nonce: None, storage: None, }, @@ -1016,20 +842,13 @@ mod tests { let expected_genesis = Genesis { classes: expected_classes, number: 0, - fee_token: expected_fee_token, + // fee_token: expected_fee_token, allocations: expected_allocations, timestamp: 5123512314u64, sequencer_address: address!("0x100"), state_root: felt!("0x99"), parent_hash: felt!("0x999"), gas_prices: GasPrices { eth: 1111, strk: 2222 }, - universal_deployer: Some(UniversalDeployerConfig { - class_hash: DEFAULT_LEGACY_UDC_CLASS_HASH, - address: address!( - "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf" - ), - storage: Some([(felt!("0x10"), felt!("0x100"))].into()), - }), }; assert_eq!(actual_genesis.number, expected_genesis.number); @@ -1037,12 +856,6 @@ mod tests { assert_eq!(actual_genesis.timestamp, expected_genesis.timestamp); assert_eq!(actual_genesis.state_root, expected_genesis.state_root); assert_eq!(actual_genesis.gas_prices, expected_genesis.gas_prices); - assert_eq!(actual_genesis.fee_token.address, expected_genesis.fee_token.address); - assert_eq!(actual_genesis.fee_token.name, expected_genesis.fee_token.name); - assert_eq!(actual_genesis.fee_token.symbol, expected_genesis.fee_token.symbol); - assert_eq!(actual_genesis.fee_token.decimals, expected_genesis.fee_token.decimals); - assert_eq!(actual_genesis.fee_token.class_hash, expected_genesis.fee_token.class_hash); - assert_eq!(actual_genesis.universal_deployer, expected_genesis.universal_deployer); assert_eq!(actual_genesis.allocations.len(), expected_genesis.allocations.len()); for alloc in actual_genesis.allocations { @@ -1095,62 +908,36 @@ mod tests { let classes = BTreeMap::from([ ( - DEFAULT_LEGACY_UDC_CLASS_HASH, + DEFAULT_ACCOUNT_CLASS_HASH, GenesisClass { - sierra: None, - casm: DEFAULT_LEGACY_UDC_CASM.clone().into(), - compiled_class_hash: DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, - }, - ), - ( - DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - GenesisClass { - sierra: None, - casm: DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone().into(), - compiled_class_hash: DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH, - }, - ), - ( - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, - GenesisClass { - compiled_class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, - casm: DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone().into(), - sierra: Some(DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten().unwrap().into()), + compiled_class_hash: DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, + casm: DEFAULT_ACCOUNT_CLASS_CASM.clone().into(), + sierra: Some(DEFAULT_ACCOUNT_CLASS.clone().flatten().unwrap().into()), }, ), #[cfg(feature = "slot")] ( - CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, + CONTROLLER_CLASS_HASH, GenesisClass { - casm: Arc::new(CONTROLLER_ACCOUNT_CONTRACT_CASM.clone()), - compiled_class_hash: CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, - sierra: Some(Arc::new(CONTROLLER_ACCOUNT_CONTRACT.clone().flatten().unwrap())), + casm: Arc::new(CONTROLLER_ACCOUNT_CLASS_CASM.clone()), + compiled_class_hash: CONTROLLER_CLASS_HASH, + sierra: Some(Arc::new(CONTROLLER_ACCOUNT_CLASS.clone().flatten().unwrap())), }, ), ]); - let fee_token = FeeTokenConfig { - address: DEFAULT_FEE_TOKEN_ADDRESS, - name: String::from("ETHER"), - symbol: String::from("ETH"), - decimals: 18, - class_hash: DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - storage: None, - }; - let allocations = BTreeMap::from([( address!("0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a"), GenesisAllocation::Account(GenesisAccountAlloc::Account(GenesisAccount { public_key: felt!("0x1"), balance: Some(U256::from_str("0xD3C21BCECCEDA1000000").unwrap()), - class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, + class_hash: DEFAULT_ACCOUNT_CLASS_HASH, nonce: None, storage: None, })), )]); let expected_genesis = Genesis { - fee_token, classes, allocations, number: 0, @@ -1159,14 +946,8 @@ mod tests { parent_hash: felt!("0x999"), sequencer_address: address!("0x100"), gas_prices: GasPrices { eth: 1111, strk: 2222 }, - universal_deployer: Some(UniversalDeployerConfig { - class_hash: DEFAULT_LEGACY_UDC_CLASS_HASH, - address: DEFAULT_UDC_ADDRESS, - storage: None, - }), }; - assert_eq!(actual_genesis.universal_deployer, expected_genesis.universal_deployer); assert_eq!(actual_genesis.allocations.len(), expected_genesis.allocations.len()); for (address, alloc) in actual_genesis.allocations { diff --git a/crates/katana/primitives/src/genesis/mod.rs b/crates/katana/primitives/src/genesis/mod.rs index 39d899fa06..559099378c 100644 --- a/crates/katana/primitives/src/genesis/mod.rs +++ b/crates/katana/primitives/src/genesis/mod.rs @@ -6,59 +6,26 @@ use std::collections::BTreeMap; use std::fmt::Debug; use std::sync::Arc; -use alloy_primitives::U256; +use constant::DEFAULT_ACCOUNT_CLASS; #[cfg(feature = "slot")] -use constant::{ - CONTROLLER_ACCOUNT_CONTRACT, CONTROLLER_ACCOUNT_CONTRACT_CASM, - CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, -}; -use serde::{Deserialize, Serialize}; -use starknet::core::serde::unsigned_field_element::UfeHex; -use starknet::core::utils::cairo_short_string_to_felt; +use constant::{CONTROLLER_ACCOUNT_CLASS, CONTROLLER_ACCOUNT_CLASS_CASM, CONTROLLER_CLASS_HASH}; +use serde::Serialize; use self::allocation::{GenesisAccountAlloc, GenesisAllocation, GenesisContractAlloc}; use self::constant::{ - get_fee_token_balance_base_storage_address, DEFAULT_FEE_TOKEN_ADDRESS, - DEFAULT_LEGACY_ERC20_CONTRACT_CASM, DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH, DEFAULT_LEGACY_UDC_CASM, + DEFAULT_ACCOUNT_CLASS_CASM, DEFAULT_ACCOUNT_CLASS_HASH, DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, + DEFAULT_LEGACY_ERC20_CASM, DEFAULT_LEGACY_ERC20_CLASS_HASH, + DEFAULT_LEGACY_ERC20_COMPILED_CLASS_HASH, DEFAULT_LEGACY_UDC_CASM, DEFAULT_LEGACY_UDC_CLASS_HASH, DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, - DEFAULT_OZ_ACCOUNT_CONTRACT, DEFAULT_OZ_ACCOUNT_CONTRACT_CASM, - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, - DEFAULT_UDC_ADDRESS, ERC20_DECIMAL_STORAGE_SLOT, ERC20_NAME_STORAGE_SLOT, - ERC20_SYMBOL_STORAGE_SLOT, ERC20_TOTAL_SUPPLY_STORAGE_SLOT, - OZ_ACCOUNT_CONTRACT_PUBKEY_STORAGE_SLOT, }; -use crate::block::{Block, BlockHash, BlockNumber, GasPrices, Header}; +use crate::block::{BlockHash, BlockNumber, GasPrices}; use crate::class::{ClassHash, CompiledClass, CompiledClassHash, FlattenedSierraClass}; -use crate::contract::{ContractAddress, StorageKey, StorageValue}; -use crate::state::StateUpdatesWithDeclaredClasses; -use crate::utils::split_u256; -use crate::version::CURRENT_STARKNET_VERSION; +use crate::contract::ContractAddress; use crate::Felt; -#[serde_with::serde_as] -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct FeeTokenConfig { - /// The name of the fee token. - pub name: String, - /// The symbol of the fee token. - pub symbol: String, - /// The address of the fee token contract. - pub address: ContractAddress, - /// The decimals of the fee token. - pub decimals: u8, - /// The class hash of the fee token contract. - #[serde_as(as = "UfeHex")] - pub class_hash: ClassHash, - /// To initialize the fee token contract storage - pub storage: Option>, -} - -#[serde_with::serde_as] -#[derive(Debug, Clone, Serialize, PartialEq, Eq)] +#[derive(Clone, Serialize, PartialEq, Eq)] pub struct GenesisClass { /// The compiled class hash of the contract class. - #[serde_as(as = "UfeHex")] pub compiled_class_hash: CompiledClassHash, /// The casm class definition. #[serde(skip_serializing)] @@ -68,15 +35,14 @@ pub struct GenesisClass { pub sierra: Option>, } -/// The configuration of the universal deployer contract. -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] -pub struct UniversalDeployerConfig { - /// The class hash of the universal deployer contract. - pub class_hash: ClassHash, - /// The address of the universal deployer contract. - pub address: ContractAddress, - /// To initialize the UD contract storage - pub storage: Option>, +impl core::fmt::Debug for GenesisClass { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("GenesisClass") + .field("compiled_class_hash", &self.compiled_class_hash) + .field("casm", &"...") + .field("sierra", &"...") + .finish() + } } /// Genesis block configuration. @@ -84,10 +50,8 @@ pub struct UniversalDeployerConfig { #[derive(Debug, Clone, Serialize)] pub struct Genesis { /// The genesis block parent hash. - #[serde_as(as = "UfeHex")] pub parent_hash: BlockHash, /// The genesis block state root. - #[serde_as(as = "UfeHex")] pub state_root: Felt, /// The genesis block number. pub number: BlockNumber, @@ -99,10 +63,6 @@ pub struct Genesis { pub gas_prices: GasPrices, /// The classes to declare in the genesis block. pub classes: BTreeMap, - /// The fee token configuration. - pub fee_token: FeeTokenConfig, - /// The universal deployer (UDC) configuration. - pub universal_deployer: Option, /// The genesis contract allocations. pub allocations: BTreeMap, } @@ -138,108 +98,6 @@ impl Genesis { } }) } - - /// Get the genesis in the form of a block. - pub fn block(&self) -> Block { - Block { - header: Header { - parent_hash: self.parent_hash, - number: self.number, - state_root: self.state_root, - timestamp: self.timestamp, - gas_prices: self.gas_prices.clone(), - sequencer_address: self.sequencer_address, - version: CURRENT_STARKNET_VERSION, - }, - body: Vec::new(), - } - } - - /// Get the genesis in the form of state updates. - pub fn state_updates(&self) -> StateUpdatesWithDeclaredClasses { - let mut states = StateUpdatesWithDeclaredClasses::default(); - - for (class_hash, class) in &self.classes { - let class_hash = *class_hash; - - states.state_updates.declared_classes.insert(class_hash, class.compiled_class_hash); - states.declared_compiled_classes.insert(class_hash, class.casm.as_ref().clone()); - - if let Some(sierra) = &class.sierra { - states.declared_sierra_classes.insert(class_hash, sierra.as_ref().clone()); - } - } - - for (address, alloc) in &self.allocations { - let address = *address; - - if let Some(hash) = alloc.class_hash() { - states.state_updates.deployed_contracts.insert(address, hash); - } - - if let Some(nonce) = alloc.nonce() { - states.state_updates.nonce_updates.insert(address, nonce); - } - - let mut storage = alloc.storage().cloned().unwrap_or_default(); - if let Some(pub_key) = alloc.public_key() { - storage.insert(OZ_ACCOUNT_CONTRACT_PUBKEY_STORAGE_SLOT, pub_key); - } - - states.state_updates.storage_updates.insert(address, storage); - } - - // insert fee token related data - let mut fee_token_storage = self.fee_token.storage.clone().unwrap_or_default(); - let mut fee_token_total_supply = U256::ZERO; - - for (address, alloc) in &self.allocations { - if let Some(balance) = alloc.balance() { - fee_token_total_supply += balance; - let (low, high) = split_u256(balance); - - // the base storage address for a standard ERC20 contract balance - let bal_base_storage_var = get_fee_token_balance_base_storage_address(*address); - - // the storage address of low u128 of the balance - let low_bal_storage_var = bal_base_storage_var; - // the storage address of high u128 of the balance - let high_bal_storage_var = bal_base_storage_var + Felt::ONE; - - fee_token_storage.insert(low_bal_storage_var, low); - fee_token_storage.insert(high_bal_storage_var, high); - } - } - - // TODO: put this in a separate function - - let name: Felt = cairo_short_string_to_felt(&self.fee_token.name).unwrap(); - let symbol: Felt = cairo_short_string_to_felt(&self.fee_token.symbol).unwrap(); - let decimals: Felt = self.fee_token.decimals.into(); - let (total_supply_low, total_supply_high) = split_u256(fee_token_total_supply); - - fee_token_storage.insert(ERC20_NAME_STORAGE_SLOT, name); - fee_token_storage.insert(ERC20_SYMBOL_STORAGE_SLOT, symbol); - fee_token_storage.insert(ERC20_DECIMAL_STORAGE_SLOT, decimals); - fee_token_storage.insert(ERC20_TOTAL_SUPPLY_STORAGE_SLOT, total_supply_low); - fee_token_storage.insert(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE, total_supply_high); - - states - .state_updates - .deployed_contracts - .insert(self.fee_token.address, self.fee_token.class_hash); - states.state_updates.storage_updates.insert(self.fee_token.address, fee_token_storage); - - // insert universal deployer related data - if let Some(udc) = &self.universal_deployer { - let storage = udc.storage.clone().unwrap_or_default(); - - states.state_updates.deployed_contracts.insert(udc.address, udc.class_hash); - states.state_updates.storage_updates.insert(udc.address, storage); - } - - states - } } impl Default for Genesis { @@ -247,30 +105,17 @@ impl Default for Genesis { /// classes are a legacy ERC20 class for the fee token, a legacy UDC class for the /// universal deployer, and an OpenZeppelin account contract class. fn default() -> Self { - let fee_token = FeeTokenConfig { - decimals: 18, - name: "Ether".into(), - symbol: "ETH".into(), - address: DEFAULT_FEE_TOKEN_ADDRESS, - class_hash: DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - storage: None, - }; - - let universal_deployer = UniversalDeployerConfig { - address: DEFAULT_UDC_ADDRESS, - class_hash: DEFAULT_LEGACY_UDC_CLASS_HASH, - storage: None, - }; - let classes = BTreeMap::from([ + // Fee token class ( - DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, + DEFAULT_LEGACY_ERC20_CLASS_HASH, GenesisClass { sierra: None, - casm: DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone().into(), - compiled_class_hash: DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH, + casm: DEFAULT_LEGACY_ERC20_CASM.clone().into(), + compiled_class_hash: DEFAULT_LEGACY_ERC20_COMPILED_CLASS_HASH, }, ), + // universal depoyer contract class ( DEFAULT_LEGACY_UDC_CLASS_HASH, GenesisClass { @@ -279,21 +124,22 @@ impl Default for Genesis { compiled_class_hash: DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, }, ), + // predeployed account class ( - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, + DEFAULT_ACCOUNT_CLASS_HASH, GenesisClass { - sierra: Some(DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten().unwrap().into()), - casm: DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone().into(), - compiled_class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, + sierra: Some(DEFAULT_ACCOUNT_CLASS.clone().flatten().unwrap().into()), + casm: DEFAULT_ACCOUNT_CLASS_CASM.clone().into(), + compiled_class_hash: DEFAULT_ACCOUNT_COMPILED_CLASS_HASH, }, ), #[cfg(feature = "slot")] ( - CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, + CONTROLLER_CLASS_HASH, GenesisClass { - casm: CONTROLLER_ACCOUNT_CONTRACT_CASM.clone().into(), - compiled_class_hash: CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, - sierra: Some(CONTROLLER_ACCOUNT_CONTRACT.clone().flatten().unwrap().into()), + casm: CONTROLLER_ACCOUNT_CLASS_CASM.clone().into(), + compiled_class_hash: CONTROLLER_CLASS_HASH, + sierra: Some(CONTROLLER_ACCOUNT_CLASS.clone().flatten().unwrap().into()), }, ), ]); @@ -307,451 +153,6 @@ impl Default for Genesis { sequencer_address: Felt::ZERO.into(), classes, allocations: BTreeMap::new(), - fee_token, - universal_deployer: Some(universal_deployer), } } } - -#[cfg(test)] -mod tests { - use std::collections::HashMap; - use std::str::FromStr; - - use allocation::GenesisAccount; - use starknet::macros::felt; - - use super::*; - use crate::address; - - #[test] - fn genesis_block_and_state_updates() { - // setup initial states to test - - let classes = BTreeMap::from([ - ( - DEFAULT_LEGACY_UDC_CLASS_HASH, - GenesisClass { - sierra: None, - casm: DEFAULT_LEGACY_UDC_CASM.clone().into(), - compiled_class_hash: DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH, - }, - ), - ( - DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - GenesisClass { - sierra: None, - casm: DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone().into(), - compiled_class_hash: DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH, - }, - ), - ( - DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, - GenesisClass { - compiled_class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, - casm: DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone().into(), - sierra: Some(DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten().unwrap().into()), - }, - ), - #[cfg(feature = "slot")] - ( - CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, - GenesisClass { - casm: CONTROLLER_ACCOUNT_CONTRACT_CASM.clone().into(), - compiled_class_hash: CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH, - sierra: Some(CONTROLLER_ACCOUNT_CONTRACT.clone().flatten().unwrap().into()), - }, - ), - ]); - - let fee_token = FeeTokenConfig { - address: DEFAULT_FEE_TOKEN_ADDRESS, - name: String::from("ETHER"), - symbol: String::from("ETH"), - decimals: 18, - class_hash: DEFAULT_LEGACY_ERC20_CONTRACT_CLASS_HASH, - storage: Some(BTreeMap::from([ - (felt!("0x111"), felt!("0x1")), - (felt!("0x222"), felt!("0x2")), - ])), - }; - - let allocations = [ - ( - address!("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), - GenesisAllocation::Account(GenesisAccountAlloc::Account(GenesisAccount { - public_key: felt!( - "0x01ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca" - ), - balance: Some(U256::from_str("0xD3C21BCECCEDA1000000").unwrap()), - class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, - nonce: Some(felt!("0x99")), - storage: Some(BTreeMap::from([ - (felt!("0x1"), felt!("0x1")), - (felt!("0x2"), felt!("0x2")), - ])), - })), - ), - ( - address!("0xdeadbeef"), - GenesisAllocation::Contract(GenesisContractAlloc { - balance: Some(U256::from_str("0xD3C21BCECCEDA1000000").unwrap()), - class_hash: Some(DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH), - nonce: Some(felt!("0x100")), - storage: Some(BTreeMap::from([ - (felt!("0x100"), felt!("0x111")), - (felt!("0x200"), felt!("0x222")), - ])), - }), - ), - ( - address!("0x2"), - GenesisAllocation::Account(GenesisAccountAlloc::Account(GenesisAccount { - public_key: felt!("0x2"), - balance: Some(U256::ZERO), - class_hash: DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, - nonce: None, - storage: None, - })), - ), - ]; - - let ud = UniversalDeployerConfig { - address: address!("0xb00b1e5"), - class_hash: DEFAULT_LEGACY_UDC_CLASS_HASH, - storage: Some([(felt!("0x10"), felt!("0x100"))].into()), - }; - - let genesis = Genesis { - classes, - fee_token: fee_token.clone(), - allocations: BTreeMap::from(allocations.clone()), - number: 0, - timestamp: 5123512314u64, - state_root: felt!("0x99"), - parent_hash: felt!("0x999"), - sequencer_address: address!("0x100"), - gas_prices: GasPrices { eth: 1111, strk: 2222 }, - universal_deployer: Some(ud.clone()), - }; - - // setup expected storage values - - let name: Felt = cairo_short_string_to_felt(&fee_token.name).unwrap(); - let symbol: Felt = cairo_short_string_to_felt(&fee_token.symbol).unwrap(); - let decimals: Felt = fee_token.decimals.into(); - - // there are only two allocations so the total token supply is - // 0xD3C21BCECCEDA1000000 * 2 = 0x1a784379d99db42000000 - let (total_supply_low, total_supply_high) = - split_u256(U256::from_str("0x1a784379d99db42000000").unwrap()); - - let mut fee_token_storage = HashMap::new(); - fee_token_storage.insert(ERC20_NAME_STORAGE_SLOT, name); - fee_token_storage.insert(ERC20_SYMBOL_STORAGE_SLOT, symbol); - fee_token_storage.insert(ERC20_DECIMAL_STORAGE_SLOT, decimals); - fee_token_storage.insert(ERC20_TOTAL_SUPPLY_STORAGE_SLOT, total_supply_low); - fee_token_storage.insert(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE, total_supply_high); - - for (address, alloc) in &allocations { - if let Some(balance) = alloc.balance() { - let (low, high) = split_u256(balance); - - // the base storage address for a standard ERC20 contract balance - let bal_base_storage_var = get_fee_token_balance_base_storage_address(*address); - - // the storage address of low u128 of the balance - let low_bal_storage_var = bal_base_storage_var; - // the storage address of high u128 of the balance - let high_bal_storage_var = bal_base_storage_var + Felt::ONE; - - fee_token_storage.insert(low_bal_storage_var, low); - fee_token_storage.insert(high_bal_storage_var, high); - } - } - - let expected_block = Block { - header: Header { - number: genesis.number, - timestamp: genesis.timestamp, - state_root: genesis.state_root, - parent_hash: genesis.parent_hash, - sequencer_address: genesis.sequencer_address, - gas_prices: genesis.gas_prices.clone(), - version: CURRENT_STARKNET_VERSION, - }, - body: Vec::new(), - }; - - let actual_block = genesis.block(); - let actual_state_updates = genesis.state_updates(); - - // assert individual fields of the block - - assert_eq!(actual_block.header.number, expected_block.header.number); - assert_eq!(actual_block.header.timestamp, expected_block.header.timestamp); - assert_eq!(actual_block.header.state_root, expected_block.header.state_root); - assert_eq!(actual_block.header.parent_hash, expected_block.header.parent_hash); - assert_eq!(actual_block.header.sequencer_address, expected_block.header.sequencer_address); - assert_eq!(actual_block.header.gas_prices, expected_block.header.gas_prices); - assert_eq!(actual_block.header.version, expected_block.header.version); - assert_eq!(actual_block.body, expected_block.body); - - if cfg!(feature = "slot") { - assert!( - actual_state_updates.declared_compiled_classes.len() == 4, - "should be 4 casm classes: udc, erc20, oz account, controller account" - ); - - assert!( - actual_state_updates.declared_sierra_classes.len() == 2, - "should be 2 sierra classes: oz account, controller account" - ); - } else { - assert!( - actual_state_updates.declared_compiled_classes.len() == 3, - "should be 3 casm classes: udc, erc20, oz account" - ); - - assert!( - actual_state_updates.declared_sierra_classes.len() == 1, - "should be only 1 sierra class: oz account" - ); - } - - assert_eq!( - actual_state_updates.state_updates.declared_classes.get(&fee_token.class_hash), - Some(&DEFAULT_LEGACY_ERC20_CONTRACT_COMPILED_CLASS_HASH), - "The default fee token class should be declared" - ); - - assert_eq!( - actual_state_updates.declared_compiled_classes.get(&fee_token.class_hash), - Some(&DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()), - "The default fee token casm class should be declared" - ); - - assert!( - !actual_state_updates.declared_sierra_classes.contains_key(&fee_token.class_hash), - "The default fee token class doesnt have a sierra class" - ); - - assert_eq!( - actual_state_updates.state_updates.deployed_contracts.get(&fee_token.address), - Some(&fee_token.class_hash), - "The fee token contract should be created" - ); - - assert_eq!( - actual_state_updates.state_updates.declared_classes.get(&ud.class_hash), - Some(&DEFAULT_LEGACY_UDC_COMPILED_CLASS_HASH), - "The default universal deployer class should be declared" - ); - - assert_eq!( - actual_state_updates.declared_compiled_classes.get(&ud.class_hash), - Some(&DEFAULT_LEGACY_UDC_CASM.clone()), - "The default universal deployer casm class should be declared" - ); - - assert!( - !actual_state_updates.declared_sierra_classes.contains_key(&ud.class_hash), - "The default universal deployer class doesnt have a sierra class" - ); - - assert_eq!( - actual_state_updates.state_updates.deployed_contracts.get(&ud.address), - Some(&ud.class_hash), - "The universal deployer contract should be created" - ); - - assert_eq!( - actual_state_updates - .state_updates - .declared_classes - .get(&DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH), - Some(&DEFAULT_OZ_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH), - "The default oz account class should be declared" - ); - - assert_eq!( - actual_state_updates - .declared_compiled_classes - .get(&DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH) - .unwrap(), - &DEFAULT_OZ_ACCOUNT_CONTRACT_CASM.clone(), - "The default oz account contract casm class should be declared" - ); - - assert_eq!( - actual_state_updates - .declared_sierra_classes - .get(&DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH), - Some(&DEFAULT_OZ_ACCOUNT_CONTRACT.clone().flatten().unwrap()), - "The default oz account contract sierra class should be declared" - ); - - #[cfg(feature = "slot")] - { - assert_eq!( - actual_state_updates - .state_updates - .declared_classes - .get(&CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH), - Some(&CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH), - "The controller account class should be declared" - ); - - assert_eq!( - actual_state_updates - .declared_compiled_classes - .get(&CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH), - Some(&CONTROLLER_ACCOUNT_CONTRACT_CASM.clone()), - "The controller account contract casm class should be declared" - ); - - assert_eq!( - actual_state_updates - .declared_sierra_classes - .get(&CONTROLLER_ACCOUNT_CONTRACT_CLASS_HASH), - Some(&CONTROLLER_ACCOUNT_CONTRACT.clone().flatten().unwrap()), - "The controller account contract sierra class should be declared" - ); - } - - // check that all contract allocations exist in the state updates - - assert_eq!( - actual_state_updates.state_updates.deployed_contracts.len(), - 5, - "5 contracts should be created: fee token, universal deployer, and 3 allocations" - ); - - let alloc_1_addr = allocations[0].0; - - let mut account_allocation_storage = allocations[0].1.storage().unwrap().clone(); - account_allocation_storage.insert( - OZ_ACCOUNT_CONTRACT_PUBKEY_STORAGE_SLOT, - felt!("0x01ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca"), - ); - - assert_eq!( - actual_state_updates.state_updates.deployed_contracts.get(&alloc_1_addr), - allocations[0].1.class_hash().as_ref(), - "allocation should exist" - ); - assert_eq!( - actual_state_updates.state_updates.nonce_updates.get(&alloc_1_addr).cloned(), - allocations[0].1.nonce(), - "allocation nonce should be updated" - ); - assert_eq!( - actual_state_updates.state_updates.storage_updates.get(&alloc_1_addr).cloned(), - Some(account_allocation_storage), - "account allocation storage should be updated" - ); - - let alloc_2_addr = allocations[1].0; - - assert_eq!( - actual_state_updates.state_updates.deployed_contracts.get(&alloc_2_addr), - allocations[1].1.class_hash().as_ref(), - "allocation should exist" - ); - assert_eq!( - actual_state_updates.state_updates.nonce_updates.get(&alloc_2_addr).cloned(), - allocations[1].1.nonce(), - "allocation nonce should be updated" - ); - assert_eq!( - actual_state_updates.state_updates.storage_updates.get(&alloc_2_addr), - allocations[1].1.storage(), - "allocation storage should be updated" - ); - - let alloc_3_addr = allocations[2].0; - - assert_eq!( - actual_state_updates.state_updates.deployed_contracts.get(&alloc_3_addr), - allocations[2].1.class_hash().as_ref(), - "allocation should exist" - ); - assert_eq!( - actual_state_updates.state_updates.nonce_updates.get(&alloc_3_addr).cloned(), - allocations[2].1.nonce(), - "allocation nonce should be updated" - ); - assert_eq!( - actual_state_updates.state_updates.storage_updates.get(&alloc_3_addr).cloned(), - Some(BTreeMap::from([(OZ_ACCOUNT_CONTRACT_PUBKEY_STORAGE_SLOT, felt!("0x2"))])), - "account allocation storage should be updated" - ); - - // check fee token contract storage - - let fee_token_storage = - actual_state_updates.state_updates.storage_updates.get(&fee_token.address).unwrap(); - - assert_eq!(fee_token_storage.get(&ERC20_NAME_STORAGE_SLOT), Some(&name)); - assert_eq!(fee_token_storage.get(&ERC20_SYMBOL_STORAGE_SLOT), Some(&symbol)); - assert_eq!(fee_token_storage.get(&ERC20_DECIMAL_STORAGE_SLOT), Some(&decimals)); - assert_eq!( - fee_token_storage.get(&ERC20_TOTAL_SUPPLY_STORAGE_SLOT), - Some(&total_supply_low) - ); - assert_eq!( - fee_token_storage.get(&(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE)), - Some(&total_supply_high) - ); - - // check generic non-fee token specific storage - - assert_eq!(fee_token_storage.get(&felt!("0x111")), Some(&felt!("0x1"))); - assert_eq!(fee_token_storage.get(&felt!("0x222")), Some(&felt!("0x2"))); - - let mut allocs_total_supply = U256::ZERO; - - // check for balance - for (address, alloc) in &allocations { - if let Some(balance) = alloc.balance() { - let (low, high) = split_u256(balance); - - // the base storage address for a standard ERC20 contract balance - let bal_base_storage_var = get_fee_token_balance_base_storage_address(*address); - - // the storage address of low u128 of the balance - let low_bal_storage_var = bal_base_storage_var; - // the storage address of high u128 of the balance - let high_bal_storage_var = bal_base_storage_var + Felt::ONE; - - assert_eq!(fee_token_storage.get(&low_bal_storage_var), Some(&low)); - assert_eq!(fee_token_storage.get(&high_bal_storage_var), Some(&high)); - - allocs_total_supply += balance; - } - } - - // Check that the total supply is the sum of all balances in the allocations. - // Technically this is not necessary bcs we already checked the total supply in - // the fee token storage but it's a good sanity check. - - let (actual_total_supply_low, actual_total_supply_high) = split_u256(allocs_total_supply); - assert_eq!( - fee_token_storage.get(&ERC20_TOTAL_SUPPLY_STORAGE_SLOT), - Some(&actual_total_supply_low), - "total supply must be calculated from allocations balances correctly" - ); - assert_eq!( - fee_token_storage.get(&(ERC20_TOTAL_SUPPLY_STORAGE_SLOT + Felt::ONE)), - Some(&actual_total_supply_high), - "total supply must be calculated from allocations balances correctly" - ); - - let udc_storage = - actual_state_updates.state_updates.storage_updates.get(&ud.address).unwrap(); - - // check universal deployer contract storage - - assert_eq!(udc_storage.get(&felt!("0x10")), Some(&felt!("0x100"))); - } -} diff --git a/crates/katana/primitives/src/genesis/test-genesis-with-class.json b/crates/katana/primitives/src/genesis/test-genesis-with-class.json index 42088d7d0c..58b9ee22cb 100644 --- a/crates/katana/primitives/src/genesis/test-genesis-with-class.json +++ b/crates/katana/primitives/src/genesis/test-genesis-with-class.json @@ -8,23 +8,6 @@ "ETH": 1111, "STRK": 2222 }, - "feeToken": { - "address": "0x55", - "name": "ETHER", - "symbol": "ETH", - "decimals": 18, - "class": "0x8", - "storage": { - "0x111": "0x1", - "0x222": "0x2" - } - }, - "universalDeployer": { - "address": "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf", - "storage": { - "0x10": "0x100" - } - }, "accounts": { "0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a": { "publicKey": "0x1", @@ -57,11 +40,11 @@ }, "classes": [ { - "class": "../../../contracts/compiled/erc20.json", + "class": "../../../contracts/build/erc20.json", "classHash": "MyErc20" }, { - "class": "../../../contracts/compiled/universal_deployer.json", + "class": "../../../contracts/build/universal_deployer.json", "classHash": "0x80085" }, { diff --git a/crates/katana/primitives/src/genesis/test-genesis-with-duplicate-name.json b/crates/katana/primitives/src/genesis/test-genesis-with-duplicate-name.json index cc6d462760..ef960a5002 100644 --- a/crates/katana/primitives/src/genesis/test-genesis-with-duplicate-name.json +++ b/crates/katana/primitives/src/genesis/test-genesis-with-duplicate-name.json @@ -1,38 +1,32 @@ { - "number": 0, - "parentHash": "0x999", - "timestamp": 5123512314, - "stateRoot": "0x99", - "sequencerAddress": "0x100", - "gasPrices": { - "ETH": 1111, - "STRK": 2222 + "number": 0, + "parentHash": "0x999", + "timestamp": 5123512314, + "stateRoot": "0x99", + "sequencerAddress": "0x100", + "gasPrices": { + "ETH": 1111, + "STRK": 2222 + }, + "accounts": { + "0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a": { + "publicKey": "0x1", + "balance": "0xD3C21BCECCEDA1000000" + } + }, + "contracts": {}, + "classes": [ + { + "class": "../../../contracts/build/erc20.json", + "classHash": "0x8", + "name": "MyClass" }, - "feeToken": { - "name": "ETHER", - "symbol": "ETH", - "decimals": 18 + { + "class": "../../../contracts/build/universal_deployer.json" }, - "universalDeployer": {}, - "accounts": { - "0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a": { - "publicKey": "0x1", - "balance": "0xD3C21BCECCEDA1000000" - } - }, - "contracts": {}, - "classes": [ - { - "class": "../../../contracts/compiled/erc20.json", - "classHash": "0x8", - "name": "MyClass" - }, - { - "class": "../../../contracts/compiled/universal_deployer.json" - }, - { - "class": "../../../contracts/compiled/oz_account_080.json", - "name": "MyClass" - } - ] + { + "class": "../../../contracts/build/default_account.json", + "name": "MyClass" + } + ] } diff --git a/crates/katana/primitives/src/genesis/test-genesis.json b/crates/katana/primitives/src/genesis/test-genesis.json index bda1ecdcbd..1ac5dce33b 100644 --- a/crates/katana/primitives/src/genesis/test-genesis.json +++ b/crates/katana/primitives/src/genesis/test-genesis.json @@ -1,87 +1,70 @@ { - "number": 0, - "parentHash": "0x999", - "timestamp": 5123512314, - "stateRoot": "0x99", - "sequencerAddress": "0x100", - "gasPrices": { - "ETH": 1111, - "STRK": 2222 + "number": 0, + "parentHash": "0x999", + "timestamp": 5123512314, + "stateRoot": "0x99", + "sequencerAddress": "0x100", + "gasPrices": { + "ETH": 1111, + "STRK": 2222 + }, + "accounts": { + "0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a": { + "publicKey": "0x1", + "balance": "0xD3C21BCECCEDA1000000", + "nonce": "0x1", + "class": "0x80085", + "storage": { + "0x1": "0x1", + "0x2": "0x2" + } }, - "feeToken": { - "address": "0x55", - "name": "ETHER", - "symbol": "ETH", - "decimals": 18, - "class": "MyErc20", - "storage": { - "0x111": "0x1", - "0x222": "0x2" - } + "0x6b86e40118f29ebe393a75469b4d926c7a44c2e2681b6d319520b7c1156d114": { + "publicKey": "0x2", + "balance": "0xD3C21BCECCEDA1000000", + "class": "MyClass" }, - "universalDeployer": { - "address": "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf", - "storage": { - "0x10": "0x100" - } + "0x79156ecb3d8f084001bb498c95e37fa1c4b40dbb35a3ae47b77b1ad535edcb9": { + "publicKey": "0x3" }, - "accounts": { - "0x66efb28ac62686966ae85095ff3a772e014e7fbf56d4c5f6fac5606d4dde23a": { - "publicKey": "0x1", - "balance": "0xD3C21BCECCEDA1000000", - "nonce": "0x1", - "class": "0x80085", - "storage": { - "0x1": "0x1", - "0x2": "0x2" - } - }, - "0x6b86e40118f29ebe393a75469b4d926c7a44c2e2681b6d319520b7c1156d114": { - "publicKey": "0x2", - "balance": "0xD3C21BCECCEDA1000000", - "class": "MyClass" - }, - "0x79156ecb3d8f084001bb498c95e37fa1c4b40dbb35a3ae47b77b1ad535edcb9": { - "publicKey": "0x3" - }, - "0x053a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf": { - "publicKey": "0x4", - "balance": "0xD3C21BCECCEDA1000000", - "privateKey": "0x115" - } + "0x053a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf": { + "publicKey": "0x4", + "balance": "0xD3C21BCECCEDA1000000", + "privateKey": "0x115" + } + }, + "contracts": { + "0x29873c310fbefde666dc32a1554fea6bb45eecc84f680f8a2b0a8fbb8cb89af": { + "balance": "0xD3C21BCECCEDA1000000", + "class": "MyErc20", + "storage": { + "0x1": "0x1", + "0x2": "0x2" + } }, - "contracts": { - "0x29873c310fbefde666dc32a1554fea6bb45eecc84f680f8a2b0a8fbb8cb89af": { - "balance": "0xD3C21BCECCEDA1000000", - "class": "MyErc20", - "storage": { - "0x1": "0x1", - "0x2": "0x2" - } - }, - "0xe29882a1fcba1e7e10cad46212257fea5c752a4f9b1b1ec683c503a2cf5c8a": { - "balance": "0xD3C21BCECCEDA1000000" - }, - "0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c": { - "class": "0x80085", - "storage": { - "0x1": "0x1" - } - } + "0xe29882a1fcba1e7e10cad46212257fea5c752a4f9b1b1ec683c503a2cf5c8a": { + "balance": "0xD3C21BCECCEDA1000000" }, - "classes": [ - { - "class": "../../../contracts/compiled/erc20.json", - "classHash": "0x8", - "name": "MyErc20" - }, - { - "class": "../../../contracts/compiled/universal_deployer.json", - "classHash": "0x80085" - }, - { - "class": "../../../contracts/compiled/oz_account_080.json", - "name": "MyClass" - } - ] + "0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c": { + "class": "0x80085", + "storage": { + "0x1": "0x1" + } + } + }, + "classes": [ + { + "class": "../../../contracts/build/erc20.json", + "classHash": "0x8", + "name": "MyErc20" + }, + { + "class": "../../../contracts/build/universal_deployer.json", + "classHash": "0x80085" + }, + { + "class": "../../../contracts/build/default_account.json", + "name": "MyClass" + } + ] } diff --git a/crates/katana/primitives/src/lib.rs b/crates/katana/primitives/src/lib.rs index 1e6527fedb..704de8c85a 100644 --- a/crates/katana/primitives/src/lib.rs +++ b/crates/katana/primitives/src/lib.rs @@ -2,6 +2,7 @@ pub mod block; pub mod chain; +pub mod chain_spec; pub mod class; pub mod contract; pub mod da; diff --git a/crates/katana/primitives/src/trace.rs b/crates/katana/primitives/src/trace.rs index 3530f5e251..8a69871ed3 100644 --- a/crates/katana/primitives/src/trace.rs +++ b/crates/katana/primitives/src/trace.rs @@ -1,11 +1,13 @@ -use std::collections::HashSet; +use std::collections::{HashMap, HashSet}; +use katana_cairo::cairo_vm::types::builtin_name::BuiltinName; use katana_cairo::cairo_vm::vm; use crate::class::ClassHash; use crate::contract::ContractAddress; use crate::event::OrderedEvent; use crate::message::OrderedL2ToL1Message; +use crate::transaction::TxType; use crate::Felt; pub type ExecutionResources = vm::runners::cairo_runner::ExecutionResources; @@ -26,6 +28,8 @@ pub struct TxExecInfo { pub actual_resources: TxResources, /// Error string for reverted transactions; [None] if transaction execution was successful. pub revert_error: Option, + /// The transaction type of this execution info. + pub r#type: TxType, } #[derive(Debug, Clone, PartialEq, Eq, Default)] @@ -107,3 +111,102 @@ pub struct CallInfo { /// True if the execution has failed, false otherwise. pub failed: bool, } + +#[derive(Clone, Debug, Default, Eq, PartialEq)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub struct BuiltinCounters(HashMap); + +impl BuiltinCounters { + /// Returns the number of instances of the `output` builtin, if any. + pub fn output(&self) -> Option { + self.builtin(BuiltinName::output) + } + + /// Returns the number of instances of the `range_check` builtin, if any. + pub fn range_check(&self) -> Option { + self.builtin(BuiltinName::range_check) + } + + /// Returns the number of instances of the `pedersen` builtin, if any. + pub fn pedersen(&self) -> Option { + self.builtin(BuiltinName::pedersen) + } + + /// Returns the number of instances of the `ecdsa` builtin, if any. + pub fn ecdsa(&self) -> Option { + self.builtin(BuiltinName::ecdsa) + } + + /// Returns the number of instances of the `keccak` builtin, if any. + pub fn keccak(&self) -> Option { + self.builtin(BuiltinName::keccak) + } + + /// Returns the number of instances of the `bitwise` builtin, if any. + pub fn bitwise(&self) -> Option { + self.builtin(BuiltinName::bitwise) + } + + /// Returns the number of instances of the `ec_op` builtin, if any. + pub fn ec_op(&self) -> Option { + self.builtin(BuiltinName::ec_op) + } + + /// Returns the number of instances of the `poseidon` builtin, if any. + pub fn poseidon(&self) -> Option { + self.builtin(BuiltinName::poseidon) + } + + /// Returns the number of instances of the `segment_arena` builtin, if any. + pub fn segment_arena(&self) -> Option { + self.builtin(BuiltinName::segment_arena) + } + + /// Returns the number of instances of the `range_check96` builtin, if any. + pub fn range_check96(&self) -> Option { + self.builtin(BuiltinName::range_check96) + } + + /// Returns the number of instances of the `add_mod` builtin, if any. + pub fn add_mod(&self) -> Option { + self.builtin(BuiltinName::add_mod) + } + + /// Returns the number of instances of the `mul_mod` builtin, if any. + pub fn mul_mod(&self) -> Option { + self.builtin(BuiltinName::mul_mod) + } + + fn builtin(&self, builtin: BuiltinName) -> Option { + self.0.get(&builtin).map(|&x| x as u64) + } +} + +impl From> for BuiltinCounters { + fn from(map: HashMap) -> Self { + // Filter out the builtins with 0 count. + let filtered = map.into_iter().filter(|(_, count)| *count != 0).collect(); + BuiltinCounters(filtered) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_builtin_counters_from_hashmap_removes_zero_entries() { + let mut map = HashMap::new(); + map.insert(BuiltinName::output, 1); + map.insert(BuiltinName::range_check, 0); + map.insert(BuiltinName::pedersen, 2); + map.insert(BuiltinName::ecdsa, 0); + + let counters = BuiltinCounters::from(map); + + assert_eq!(counters.output(), Some(1)); + assert_eq!(counters.range_check(), None); + assert_eq!(counters.pedersen(), Some(2)); + assert_eq!(counters.ecdsa(), None); + } +} diff --git a/crates/katana/primitives/src/transaction.rs b/crates/katana/primitives/src/transaction.rs index 0fe976d77b..54f039c05b 100644 --- a/crates/katana/primitives/src/transaction.rs +++ b/crates/katana/primitives/src/transaction.rs @@ -17,6 +17,29 @@ pub type TxHash = Felt; /// The sequential number for all the transactions. pub type TxNumber = u64; +/// The transaction types as defined by the [Starknet API]. +/// +/// [Starknet API]: https://github.com/starkware-libs/starknet-specs/blob/b5c43955b1868b8e19af6d1736178e02ec84e678/api/starknet_api_openrpc.json +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub enum TxType { + /// Invokes a function of a contract. + #[default] + Invoke, + + /// Declares new contract class. + Declare, + + /// Deploys new account contracts. + DeployAccount, + + /// Function invocation that is instantiated from the L1. + /// + /// It is only used internally for handling messages sent from L1. Therefore, it is not a + /// transaction that can be broadcasted like the other transaction types. + L1Handler, +} + #[derive(Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum Tx { @@ -63,6 +86,15 @@ impl ExecutableTx { ExecutableTx::DeployAccount(tx) => TxRef::DeployAccount(tx), } } + + pub fn r#type(&self) -> TxType { + match self { + ExecutableTx::Invoke(_) => TxType::Invoke, + ExecutableTx::Declare(_) => TxType::Declare, + ExecutableTx::L1Handler(_) => TxType::L1Handler, + ExecutableTx::DeployAccount(_) => TxType::DeployAccount, + } + } } #[derive(Debug, Clone, AsRef, Deref)] diff --git a/crates/katana/primitives/src/version.rs b/crates/katana/primitives/src/version.rs index 0c8b7fddf9..bd063b1c88 100644 --- a/crates/katana/primitives/src/version.rs +++ b/crates/katana/primitives/src/version.rs @@ -1,87 +1,177 @@ -use anyhow::anyhow; - /// The currently supported version of the Starknet protocol. -pub static CURRENT_STARKNET_VERSION: Version = Version::new(0, 12, 2); // version 0.12.2 +pub const CURRENT_STARKNET_VERSION: ProtocolVersion = ProtocolVersion::new([0, 13, 1, 1]); // version 0.13.1.1 +// TODO: figure out the exact format of the version string. /// Starknet protocol version. -#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)] -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -pub struct Version { - major: u64, - minor: u64, - patch: u64, +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct ProtocolVersion { + /// Each segments represents a part of the version number. + segments: [u8; 4], +} + +#[derive(Debug, thiserror::Error)] +pub enum ParseVersionError { + #[error("invalid version format")] + InvalidFormat, + #[error("failed to parse segment: {0}")] + ParseSegment(#[from] std::num::ParseIntError), } -impl Version { - pub const fn new(major: u64, minor: u64, patch: u64) -> Self { - Self { major, minor, patch } +impl ProtocolVersion { + pub const fn new(segments: [u8; 4]) -> Self { + Self { segments } } - pub fn parse(version: &str) -> anyhow::Result { - let mut parts = version.split('.'); + /// Parses a version string in the format `x.y.z.w` where x, y, z, w are u8 numbers. + /// The string can have fewer than 4 segments; missing segments are filled with zeros. + pub fn parse(version: &str) -> Result { + if version.is_empty() { + return Err(ParseVersionError::InvalidFormat); + } + + let segments = version.split('.').collect::>(); - if parts.clone().count() > 3 { - return Err(anyhow!("invalid version format")); + if segments.len() > 4 { + return Err(ParseVersionError::InvalidFormat); } - let major = parts.next().map(|s| s.parse::()).transpose()?.unwrap_or_default(); - let minor = parts.next().map(|s| s.parse::()).transpose()?.unwrap_or_default(); - let patch = parts.next().map(|s| s.parse::()).transpose()?.unwrap_or_default(); + let mut buffer = [0u8; 4]; + for (buf, seg) in buffer.iter_mut().zip(segments) { + *buf = if seg.is_empty() { 0 } else { seg.parse::()? }; + } + + Ok(Self::new(buffer)) + } +} + +impl core::default::Default for ProtocolVersion { + fn default() -> Self { + ProtocolVersion::new([0, 1, 0, 0]) + } +} + +// Formats the version as a string, where each segment is separated by a dot. +// The last segment (fourth part) will not be printed if it's zero. +// +// For example: +// - Version::new([1, 2, 3, 4]) will be displayed as "1.2.3.4" +// - Version::new([1, 2, 3, 0]) will be displayed as "1.2.3" +// - Version::new([0, 2, 3, 0]) will be displayed as "0.2.3" +impl core::fmt::Display for ProtocolVersion { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + for (idx, segment) in self.segments.iter().enumerate() { + // If it's the last segment, don't print it if it's zero. + if idx == self.segments.len() - 1 { + if *segment != 0 { + write!(f, ".{segment}")?; + } + } else if idx == 0 { + write!(f, "{segment}")?; + } else { + write!(f, ".{segment}")?; + } + } - Ok(Self::new(major, minor, patch)) + Ok(()) } } -impl std::fmt::Display for Version { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!( - f, - "{major}.{minor}.{patch}", - major = self.major, - minor = self.minor, - patch = self.patch - ) +impl TryFrom for ProtocolVersion { + type Error = ParseVersionError; + fn try_from(value: String) -> Result { + ProtocolVersion::parse(&value) + } +} + +#[cfg(feature = "serde")] +mod serde { + use super::*; + + // We de/serialize the version from/into a human-readable string format to prevent breaking the + // database encoding format if ever decide to change its memory representation. + + impl ::serde::Serialize for ProtocolVersion { + fn serialize(&self, serializer: S) -> Result { + serializer.serialize_str(&self.to_string()) + } + } + + impl<'de> ::serde::Deserialize<'de> for ProtocolVersion { + fn deserialize>(deserializer: D) -> Result { + let s = String::deserialize(deserializer)?; + ProtocolVersion::parse(&s).map_err(::serde::de::Error::custom) + } } } #[cfg(test)] mod tests { + use super::*; #[test] - fn parse_semver_valid() { - let version = "1.9.0"; - let parsed = super::Version::parse(version).unwrap(); - assert_eq!(parsed.major, 1); - assert_eq!(parsed.minor, 9); - assert_eq!(parsed.patch, 0); + fn parse_version_valid() { + let version = "1.9.0.0"; + let parsed = ProtocolVersion::parse(version).unwrap(); + assert_eq!(parsed.segments, [1, 9, 0, 0]); assert_eq!(String::from("1.9.0"), parsed.to_string()); } #[test] - fn parse_semver_missing_parts() { - let version = "1.9"; - let parsed = super::Version::parse(version).unwrap(); - assert_eq!(parsed.major, 1); - assert_eq!(parsed.minor, 9); - assert_eq!(parsed.patch, 0); - assert_eq!(String::from("1.9.0"), parsed.to_string()); + fn parse_version_missing_parts() { + let version = "1.9.0"; + let parsed = ProtocolVersion::parse(version).unwrap(); + assert_eq!(parsed.segments, [1, 9, 0, 0]); + assert_eq!("1.9.0", parsed.to_string()); } #[test] - fn parse_semver_invalid_digit_should_fail() { - let version = "0.fv.1"; - assert!(super::Version::parse(version).is_err()); + fn parse_version_invalid_digit_should_fail() { + let version = "0.fv.1.0"; + assert!(ProtocolVersion::parse(version).is_err()); } #[test] - fn parse_semver_missing_digit_should_fail() { - let version = "1.."; - assert!(super::Version::parse(version).is_err()); + fn parse_version_missing_digit_default_zero() { + let version = "1..."; + let parsed = ProtocolVersion::parse(version).unwrap(); + assert_eq!(parsed.segments, [1, 0, 0, 0]); + assert_eq!("1.0.0", parsed.to_string()); } #[test] - fn parse_semver_too_many_parts_should_fail() { + fn parse_version_many_parts_should_succeed() { let version = "1.2.3.4"; - assert!(super::Version::parse(version).is_err()); + let parsed = ProtocolVersion::parse(version).unwrap(); + assert_eq!(parsed.segments, [1, 2, 3, 4]); + assert_eq!("1.2.3.4", parsed.to_string()); + } + + #[test] + fn parse_invalid_formats() { + let version = ""; + assert!(ProtocolVersion::parse(version).is_err()); + let version = "1.2.3.4.5"; + assert!(ProtocolVersion::parse(version).is_err()); + } + + #[cfg(feature = "serde")] + mod serde { + use super::*; + + #[test] + fn rt_human_readable() { + let version = ProtocolVersion::new([1, 2, 3, 4]); + let serialized = serde_json::to_string(&version).unwrap(); + let deserialized: ProtocolVersion = serde_json::from_str(&serialized).unwrap(); + assert_eq!(version, deserialized); + } + + #[test] + fn rt_non_human_readable() { + let version = ProtocolVersion::new([1, 2, 3, 4]); + let serialized = postcard::to_stdvec(&version).unwrap(); + let deserialized: ProtocolVersion = postcard::from_bytes(&serialized).unwrap(); + assert_eq!(version, deserialized); + } } } diff --git a/crates/katana/rpc/rpc-api/src/lib.rs b/crates/katana/rpc/rpc-api/src/lib.rs index 5f138a3d29..a79c8a3284 100644 --- a/crates/katana/rpc/rpc-api/src/lib.rs +++ b/crates/katana/rpc/rpc-api/src/lib.rs @@ -2,12 +2,3 @@ pub mod dev; pub mod saya; pub mod starknet; pub mod torii; - -/// List of APIs supported by Katana. -#[derive(Debug, Copy, Clone)] -pub enum ApiKind { - Starknet, - Torii, - Dev, - Saya, -} diff --git a/crates/katana/rpc/rpc-types/src/block.rs b/crates/katana/rpc/rpc-types/src/block.rs index a9c24e642b..16dfd7bd5c 100644 --- a/crates/katana/rpc/rpc-types/src/block.rs +++ b/crates/katana/rpc/rpc-types/src/block.rs @@ -20,8 +20,13 @@ pub struct BlockWithTxs(starknet::core::types::BlockWithTxs); impl BlockWithTxs { pub fn new(block_hash: BlockHash, block: Block, finality_status: FinalityStatus) -> Self { let l1_gas_price = ResourcePrice { - price_in_wei: block.header.gas_prices.eth.into(), - price_in_fri: block.header.gas_prices.strk.into(), + price_in_wei: block.header.l1_gas_prices.eth.into(), + price_in_fri: block.header.l1_gas_prices.strk.into(), + }; + + let l1_data_gas_price = ResourcePrice { + price_in_wei: block.header.l1_data_gas_prices.eth.into(), + price_in_fri: block.header.l1_data_gas_prices.strk.into(), }; let transactions = @@ -35,18 +40,15 @@ impl BlockWithTxs { timestamp: block.header.timestamp, block_number: block.header.number, parent_hash: block.header.parent_hash, - starknet_version: block.header.version.to_string(), + starknet_version: block.header.protocol_version.to_string(), sequencer_address: block.header.sequencer_address.into(), status: match finality_status { FinalityStatus::AcceptedOnL1 => BlockStatus::AcceptedOnL1, FinalityStatus::AcceptedOnL2 => BlockStatus::AcceptedOnL2, }, - l1_da_mode: L1DataAvailabilityMode::Calldata, - l1_data_gas_price: ResourcePrice { - price_in_fri: Default::default(), - price_in_wei: Default::default(), - }, + l1_da_mode: block.header.l1_da_mode, + l1_data_gas_price, }) } } @@ -61,8 +63,8 @@ impl PendingBlockWithTxs { transactions.into_iter().map(|tx| crate::transaction::Tx::from(tx).0).collect(); let l1_gas_price = ResourcePrice { - price_in_wei: header.gas_prices.eth.into(), - price_in_fri: header.gas_prices.strk.into(), + price_in_wei: header.l1_gas_prices.eth.into(), + price_in_fri: header.l1_gas_prices.strk.into(), }; Self(starknet::core::types::PendingBlockWithTxs { @@ -100,8 +102,13 @@ impl BlockWithTxHashes { finality_status: FinalityStatus, ) -> Self { let l1_gas_price = ResourcePrice { - price_in_wei: block.header.gas_prices.eth.into(), - price_in_fri: block.header.gas_prices.strk.into(), + price_in_wei: block.header.l1_gas_prices.eth.into(), + price_in_fri: block.header.l1_gas_prices.strk.into(), + }; + + let l1_data_gas_price = ResourcePrice { + price_in_wei: block.header.l1_data_gas_prices.eth.into(), + price_in_fri: block.header.l1_data_gas_prices.strk.into(), }; Self(starknet::core::types::BlockWithTxHashes { @@ -112,18 +119,15 @@ impl BlockWithTxHashes { timestamp: block.header.timestamp, block_number: block.header.number, parent_hash: block.header.parent_hash, - starknet_version: block.header.version.to_string(), + starknet_version: block.header.protocol_version.to_string(), sequencer_address: block.header.sequencer_address.into(), status: match finality_status { FinalityStatus::AcceptedOnL1 => BlockStatus::AcceptedOnL1, FinalityStatus::AcceptedOnL2 => BlockStatus::AcceptedOnL2, }, - l1_da_mode: L1DataAvailabilityMode::Calldata, - l1_data_gas_price: ResourcePrice { - price_in_fri: Default::default(), - price_in_wei: Default::default(), - }, + l1_da_mode: block.header.l1_da_mode, + l1_data_gas_price, }) } } @@ -135,8 +139,13 @@ pub struct PendingBlockWithTxHashes(starknet::core::types::PendingBlockWithTxHas impl PendingBlockWithTxHashes { pub fn new(header: PartialHeader, transactions: Vec) -> Self { let l1_gas_price = ResourcePrice { - price_in_wei: header.gas_prices.eth.into(), - price_in_fri: header.gas_prices.strk.into(), + price_in_wei: header.l1_gas_prices.eth.into(), + price_in_fri: header.l1_gas_prices.strk.into(), + }; + + let l1_data_gas_price = ResourcePrice { + price_in_wei: header.l1_data_gas_prices.eth.into(), + price_in_fri: header.l1_data_gas_prices.strk.into(), }; Self(starknet::core::types::PendingBlockWithTxHashes { @@ -146,12 +155,8 @@ impl PendingBlockWithTxHashes { parent_hash: header.parent_hash, starknet_version: header.version.to_string(), sequencer_address: header.sequencer_address.into(), - - l1_da_mode: L1DataAvailabilityMode::Calldata, - l1_data_gas_price: ResourcePrice { - price_in_fri: Default::default(), - price_in_wei: Default::default(), - }, + l1_da_mode: header.l1_da_mode, + l1_data_gas_price, }) } } @@ -190,8 +195,13 @@ impl BlockWithReceipts { receipts: impl Iterator, ) -> Self { let l1_gas_price = ResourcePrice { - price_in_wei: header.gas_prices.eth.into(), - price_in_fri: header.gas_prices.strk.into(), + price_in_wei: header.l1_gas_prices.eth.into(), + price_in_fri: header.l1_gas_prices.strk.into(), + }; + + let l1_data_gas_price = ResourcePrice { + price_in_wei: header.l1_data_gas_prices.eth.into(), + price_in_fri: header.l1_data_gas_prices.strk.into(), }; let transactions = receipts @@ -214,12 +224,9 @@ impl BlockWithReceipts { timestamp: header.timestamp, sequencer_address: header.sequencer_address.into(), l1_gas_price, - l1_data_gas_price: ResourcePrice { - price_in_fri: Default::default(), - price_in_wei: Default::default(), - }, + l1_data_gas_price, l1_da_mode: L1DataAvailabilityMode::Calldata, - starknet_version: header.version.to_string(), + starknet_version: header.protocol_version.to_string(), transactions, }) } @@ -235,8 +242,13 @@ impl PendingBlockWithReceipts { receipts: impl Iterator, ) -> Self { let l1_gas_price = ResourcePrice { - price_in_wei: header.gas_prices.eth.into(), - price_in_fri: header.gas_prices.strk.into(), + price_in_wei: header.l1_gas_prices.eth.into(), + price_in_fri: header.l1_gas_prices.strk.into(), + }; + + let l1_data_gas_price = ResourcePrice { + price_in_wei: header.l1_data_gas_prices.eth.into(), + price_in_fri: header.l1_data_gas_prices.strk.into(), }; let transactions = receipts @@ -254,11 +266,8 @@ impl PendingBlockWithReceipts { timestamp: header.timestamp, sequencer_address: header.sequencer_address.into(), parent_hash: header.parent_hash, - l1_da_mode: L1DataAvailabilityMode::Calldata, - l1_data_gas_price: ResourcePrice { - price_in_fri: Default::default(), - price_in_wei: Default::default(), - }, + l1_da_mode: header.l1_da_mode, + l1_data_gas_price, starknet_version: header.version.to_string(), }) } diff --git a/crates/katana/rpc/rpc-types/src/error/starknet.rs b/crates/katana/rpc/rpc-types/src/error/starknet.rs index d5aecfb5dd..9fdddba0cf 100644 --- a/crates/katana/rpc/rpc-types/src/error/starknet.rs +++ b/crates/katana/rpc/rpc-types/src/error/starknet.rs @@ -1,7 +1,7 @@ use jsonrpsee::core::Error; use jsonrpsee::types::error::CallError; use jsonrpsee::types::ErrorObject; -use katana_pool::validation::InvalidTransactionError; +use katana_pool::validation::error::InvalidTransactionError; use katana_pool::PoolError; use katana_primitives::event::ContinuationTokenError; use katana_provider::error::ProviderError; @@ -182,7 +182,7 @@ impl From> for StarknetApiError { fn from(error: Box) -> Self { match error.as_ref() { InvalidTransactionError::InsufficientFunds { .. } => Self::InsufficientAccountBalance, - InvalidTransactionError::InsufficientMaxFee { .. } => Self::InsufficientMaxFee, + InvalidTransactionError::IntrinsicFeeTooLow { .. } => Self::InsufficientMaxFee, InvalidTransactionError::NonAccount { .. } => Self::NonAccount, InvalidTransactionError::InvalidNonce { .. } => { Self::InvalidTransactionNonce { reason: error.to_string() } diff --git a/crates/katana/rpc/rpc-types/src/message.rs b/crates/katana/rpc/rpc-types/src/message.rs index 120ecf28ff..77f49e0551 100644 --- a/crates/katana/rpc/rpc-types/src/message.rs +++ b/crates/katana/rpc/rpc-types/src/message.rs @@ -13,6 +13,12 @@ impl MsgFromL1 { // for the `estimateMessageFee` RPC. let nonce = Felt::ZERO; + // When executing a l1 handler tx, blockifier just assert that the paid_fee_on_l1 is + // anything but 0. See: https://github.com/dojoengine/sequencer/blob/d6951f24fc2082c7aa89cdbc063648915b131d74/crates/blockifier/src/transaction/transaction_execution.rs#L140-L145 + // + // For fee estimation, this value is basically irrelevant. + let paid_fee_on_l1 = 1u128; + let message_hash = compute_l2_to_l1_message_hash( // This conversion will never fail bcs `from_address` is 20 bytes and the it will only // fail if the slice is > 32 bytes @@ -21,13 +27,18 @@ impl MsgFromL1 { &self.0.payload, ); + // In an l1_handler transaction, the first element of the calldata is always the Ethereum + // address of the sender (msg.sender). https://docs.starknet.io/documentation/architecture_and_concepts/Network_Architecture/messaging-mechanism/#l1-l2-messages + let mut calldata = vec![Felt::from(self.0.from_address)]; + calldata.extend(self.0.payload); + L1HandlerTx { nonce, chain_id, + calldata, message_hash, - calldata: self.0.payload, + paid_fee_on_l1, version: Felt::ZERO, - paid_fee_on_l1: Default::default(), contract_address: self.0.to_address.into(), entry_point_selector: self.0.entry_point_selector, } diff --git a/crates/katana/rpc/rpc/Cargo.toml b/crates/katana/rpc/rpc/Cargo.toml index b836ebb139..cfd8b99c52 100644 --- a/crates/katana/rpc/rpc/Cargo.toml +++ b/crates/katana/rpc/rpc/Cargo.toml @@ -36,12 +36,11 @@ dojo-world.workspace = true indexmap.workspace = true jsonrpsee = { workspace = true, features = [ "client" ] } katana-cairo.workspace = true -katana-node = { workspace = true, features = [ "messaging" ] } +katana-node.workspace = true katana-rpc-api = { workspace = true, features = [ "client" ] } -katana-runner.workspace = true -rstest.workspace = true num-traits.workspace = true rand.workspace = true +rstest.workspace = true serde.workspace = true serde_json.workspace = true tempfile.workspace = true diff --git a/crates/katana/rpc/rpc/src/config.rs b/crates/katana/rpc/rpc/src/config.rs deleted file mode 100644 index ac7cd0b822..0000000000 --- a/crates/katana/rpc/rpc/src/config.rs +++ /dev/null @@ -1,19 +0,0 @@ -use std::net::SocketAddr; - -use katana_rpc_api::ApiKind; - -#[derive(Debug, Clone)] -pub struct ServerConfig { - pub port: u16, - pub host: String, - pub max_connections: u32, - pub allowed_origins: Option>, - pub apis: Vec, - pub metrics: Option, -} - -impl ServerConfig { - pub fn addr(&self) -> String { - format!("{}:{}", self.host, self.port) - } -} diff --git a/crates/katana/rpc/rpc/src/dev.rs b/crates/katana/rpc/rpc/src/dev.rs index f2d039bcdf..9c48eb1cf0 100644 --- a/crates/katana/rpc/rpc/src/dev.rs +++ b/crates/katana/rpc/rpc/src/dev.rs @@ -12,11 +12,11 @@ use katana_rpc_types::error::dev::DevApiError; #[allow(missing_debug_implementations)] pub struct DevApi { backend: Arc>, - block_producer: Arc>, + block_producer: BlockProducer, } impl DevApi { - pub fn new(backend: Arc>, block_producer: Arc>) -> Self { + pub fn new(backend: Arc>, block_producer: BlockProducer) -> Self { Self { backend, block_producer } } @@ -92,8 +92,7 @@ impl DevApiServer for DevApi { Ok(()) } - #[allow(deprecated)] async fn predeployed_accounts(&self) -> Result, Error> { - Ok(self.backend.config.genesis.accounts().map(|e| Account::new(*e.0, e.1)).collect()) + Ok(self.backend.chain_spec.genesis.accounts().map(|e| Account::new(*e.0, e.1)).collect()) } } diff --git a/crates/katana/rpc/rpc/src/lib.rs b/crates/katana/rpc/rpc/src/lib.rs index 6abe5d449e..b24f787512 100644 --- a/crates/katana/rpc/rpc/src/lib.rs +++ b/crates/katana/rpc/rpc/src/lib.rs @@ -3,7 +3,6 @@ #![allow(clippy::blocks_in_conditions)] #![cfg_attr(not(test), warn(unused_crate_dependencies))] -pub mod config; pub mod dev; pub mod metrics; pub mod saya; diff --git a/crates/katana/rpc/rpc/src/saya.rs b/crates/katana/rpc/rpc/src/saya.rs index c93d4188ae..c779fa2dcc 100644 --- a/crates/katana/rpc/rpc/src/saya.rs +++ b/crates/katana/rpc/rpc/src/saya.rs @@ -16,20 +16,17 @@ use katana_tasks::TokioTaskSpawner; #[allow(missing_debug_implementations)] pub struct SayaApi { backend: Arc>, - block_producer: Arc>, + block_producer: BlockProducer, } impl Clone for SayaApi { fn clone(&self) -> Self { - Self { - backend: Arc::clone(&self.backend), - block_producer: Arc::clone(&self.block_producer), - } + Self { backend: Arc::clone(&self.backend), block_producer: self.block_producer.clone() } } } impl SayaApi { - pub fn new(backend: Arc>, block_producer: Arc>) -> Self { + pub fn new(backend: Arc>, block_producer: BlockProducer) -> Self { Self { backend, block_producer } } diff --git a/crates/katana/rpc/rpc/src/starknet/mod.rs b/crates/katana/rpc/rpc/src/starknet/mod.rs index a5ec301e89..6f5b39063b 100644 --- a/crates/katana/rpc/rpc/src/starknet/mod.rs +++ b/crates/katana/rpc/rpc/src/starknet/mod.rs @@ -53,7 +53,7 @@ struct Inner { validator: TxValidator, pool: TxPool, backend: Arc>, - block_producer: Arc>, + block_producer: BlockProducer, blocking_task_pool: BlockingTaskPool, } @@ -61,7 +61,7 @@ impl StarknetApi { pub fn new( backend: Arc>, pool: TxPool, - block_producer: Arc>, + block_producer: BlockProducer, validator: TxValidator, ) -> Self { let blocking_task_pool = diff --git a/crates/katana/rpc/rpc/src/starknet/read.rs b/crates/katana/rpc/rpc/src/starknet/read.rs index 548d1aff82..4346e337ba 100644 --- a/crates/katana/rpc/rpc/src/starknet/read.rs +++ b/crates/katana/rpc/rpc/src/starknet/read.rs @@ -1,8 +1,8 @@ use jsonrpsee::core::{async_trait, Error, RpcResult}; use katana_executor::{EntryPointCall, ExecutionResult, ExecutorFactory}; use katana_primitives::block::{BlockHashOrNumber, BlockIdOrTag, FinalityStatus, PartialHeader}; +use katana_primitives::da::L1DataAvailabilityMode; use katana_primitives::transaction::{ExecutableTx, ExecutableTxWithHash, TxHash}; -use katana_primitives::version::CURRENT_STARKNET_VERSION; use katana_primitives::Felt; use katana_provider::traits::block::{BlockHashProvider, BlockIdReader, BlockNumberProvider}; use katana_provider::traits::transaction::TransactionProvider; @@ -29,7 +29,7 @@ use super::StarknetApi; #[async_trait] impl StarknetApiServer for StarknetApi { async fn chain_id(&self) -> RpcResult { - Ok(self.inner.backend.chain_id.id().into()) + Ok(self.inner.backend.chain_spec.id.id().into()) } async fn get_nonce( @@ -80,14 +80,17 @@ impl StarknetApiServer for StarknetApi { let block_env = executor.read().block_env(); let latest_hash = provider.latest_hash().map_err(StarknetApiError::from)?; - let gas_prices = block_env.l1_gas_prices.clone(); + let l1_gas_prices = block_env.l1_gas_prices.clone(); + let l1_data_gas_prices = block_env.l1_data_gas_prices.clone(); let header = PartialHeader { + l1_da_mode: L1DataAvailabilityMode::Calldata, + l1_data_gas_prices, + l1_gas_prices, number: block_env.number, - gas_prices, parent_hash: latest_hash, timestamp: block_env.timestamp, - version: CURRENT_STARKNET_VERSION, + version: this.inner.backend.chain_spec.version.clone(), sequencer_address: block_env.sequencer_address, }; @@ -168,15 +171,18 @@ impl StarknetApiServer for StarknetApi { let block_env = executor.read().block_env(); let latest_hash = provider.latest_hash().map_err(StarknetApiError::from)?; - let gas_prices = block_env.l1_gas_prices.clone(); + let l1_gas_prices = block_env.l1_gas_prices.clone(); + let l1_data_gas_prices = block_env.l1_data_gas_prices.clone(); let header = PartialHeader { + l1_da_mode: L1DataAvailabilityMode::Calldata, + l1_gas_prices, + l1_data_gas_prices, number: block_env.number, - gas_prices, parent_hash: latest_hash, - version: CURRENT_STARKNET_VERSION, timestamp: block_env.timestamp, sequencer_address: block_env.sequencer_address, + version: this.inner.backend.chain_spec.version.clone(), }; // TODO(kariy): create a method that can perform this filtering for us instead @@ -225,13 +231,16 @@ impl StarknetApiServer for StarknetApi { let block_env = executor.read().block_env(); let latest_hash = provider.latest_hash().map_err(StarknetApiError::from)?; - let gas_prices = block_env.l1_gas_prices.clone(); + let l1_gas_prices = block_env.l1_gas_prices.clone(); + let l1_data_gas_prices = block_env.l1_data_gas_prices.clone(); let header = PartialHeader { + l1_da_mode: L1DataAvailabilityMode::Calldata, + l1_gas_prices, + l1_data_gas_prices, number: block_env.number, - gas_prices, parent_hash: latest_hash, - version: CURRENT_STARKNET_VERSION, + version: this.inner.backend.chain_spec.version.clone(), timestamp: block_env.timestamp, sequencer_address: block_env.sequencer_address, }; @@ -431,7 +440,7 @@ impl StarknetApiServer for StarknetApi { block_id: BlockIdOrTag, ) -> RpcResult> { self.on_cpu_blocking_task(move |this| { - let chain_id = this.inner.backend.chain_id; + let chain_id = this.inner.backend.chain_spec.id; let transactions = request .into_iter() @@ -470,8 +479,8 @@ impl StarknetApiServer for StarknetApi { // If the node is run with transaction validation disabled, then we should not validate // transactions when estimating the fee even if the `SKIP_VALIDATE` flag is not set. - #[allow(deprecated)] - let should_validate = !(skip_validate || this.inner.backend.config.disable_validate); + let should_validate = !(skip_validate + || this.inner.backend.executor_factory.execution_flags().skip_validate); let flags = katana_executor::SimulationFlag { skip_validate: !should_validate, // We don't care about the nonce when estimating the fee as the nonce value @@ -495,7 +504,7 @@ impl StarknetApiServer for StarknetApi { block_id: BlockIdOrTag, ) -> RpcResult { self.on_cpu_blocking_task(move |this| { - let chain_id = this.inner.backend.chain_id; + let chain_id = this.inner.backend.chain_spec.id; let tx = message.into_tx_with_chain_id(chain_id); let hash = tx.calculate_hash(); diff --git a/crates/katana/rpc/rpc/src/starknet/trace.rs b/crates/katana/rpc/rpc/src/starknet/trace.rs index dade31c98e..edfa21c95a 100644 --- a/crates/katana/rpc/rpc/src/starknet/trace.rs +++ b/crates/katana/rpc/rpc/src/starknet/trace.rs @@ -1,32 +1,190 @@ -use jsonrpsee::core::{async_trait, Error, RpcResult}; -use jsonrpsee::types::error::{CallError, METHOD_NOT_FOUND_CODE}; -use jsonrpsee::types::ErrorObject; +use jsonrpsee::core::{async_trait, RpcResult}; use katana_executor::{ExecutionResult, ExecutorFactory, ResultAndStates}; -use katana_primitives::block::BlockIdOrTag; -use katana_primitives::receipt::Receipt; -use katana_primitives::transaction::{ExecutableTx, ExecutableTxWithHash, TxHash}; +use katana_primitives::block::{BlockHashOrNumber, BlockIdOrTag}; +use katana_primitives::fee::TxFeeInfo; +use katana_primitives::trace::{BuiltinCounters, TxExecInfo}; +use katana_primitives::transaction::{ExecutableTx, ExecutableTxWithHash, TxHash, TxType}; +use katana_provider::traits::block::{BlockNumberProvider, BlockProvider}; +use katana_provider::traits::transaction::{TransactionTraceProvider, TransactionsProviderExt}; use katana_rpc_api::starknet::StarknetTraceApiServer; use katana_rpc_types::error::starknet::StarknetApiError; use katana_rpc_types::trace::FunctionInvocation; use katana_rpc_types::transaction::BroadcastedTx; use katana_rpc_types::{FeeEstimate, SimulationFlag}; use starknet::core::types::{ - ComputationResources, DataAvailabilityResources, DataResources, DeclareTransactionTrace, - DeployAccountTransactionTrace, ExecuteInvocation, ExecutionResources, InvokeTransactionTrace, - L1HandlerTransactionTrace, RevertedInvocation, SimulatedTransaction, TransactionTrace, - TransactionTraceWithHash, + BlockTag, ComputationResources, DataAvailabilityResources, DataResources, + DeclareTransactionTrace, DeployAccountTransactionTrace, ExecuteInvocation, ExecutionResources, + InvokeTransactionTrace, L1HandlerTransactionTrace, RevertedInvocation, SimulatedTransaction, + TransactionTrace, TransactionTraceWithHash, }; use super::StarknetApi; +impl StarknetApi { + fn simulate_txs( + &self, + block_id: BlockIdOrTag, + transactions: Vec, + simulation_flags: Vec, + ) -> Result, StarknetApiError> { + let chain_id = self.inner.backend.chain_spec.id; + + let executables = transactions + .into_iter() + .map(|tx| { + let tx = match tx { + BroadcastedTx::Invoke(tx) => { + let is_query = tx.is_query(); + ExecutableTxWithHash::new_query( + ExecutableTx::Invoke(tx.into_tx_with_chain_id(chain_id)), + is_query, + ) + } + BroadcastedTx::Declare(tx) => { + let is_query = tx.is_query(); + ExecutableTxWithHash::new_query( + ExecutableTx::Declare( + tx.try_into_tx_with_chain_id(chain_id) + .map_err(|_| StarknetApiError::InvalidContractClass)?, + ), + is_query, + ) + } + BroadcastedTx::DeployAccount(tx) => { + let is_query = tx.is_query(); + ExecutableTxWithHash::new_query( + ExecutableTx::DeployAccount(tx.into_tx_with_chain_id(chain_id)), + is_query, + ) + } + }; + Result::::Ok(tx) + }) + .collect::, _>>()?; + + // If the node is run with transaction validation disabled, then we should not validate + // even if the `SKIP_VALIDATE` flag is not set. + let should_validate = !(simulation_flags.contains(&SimulationFlag::SkipValidate) + || self.inner.backend.executor_factory.execution_flags().skip_validate); + + // If the node is run with fee charge disabled, then we should disable charing fees even + // if the `SKIP_FEE_CHARGE` flag is not set. + let should_skip_fee = !(simulation_flags.contains(&SimulationFlag::SkipFeeCharge) + || self.inner.backend.executor_factory.execution_flags().skip_fee_transfer); + + let flags = katana_executor::SimulationFlag { + skip_validate: !should_validate, + skip_fee_transfer: !should_skip_fee, + ..Default::default() + }; + + // get the state and block env at the specified block for execution + let state = self.state(&block_id)?; + let env = self.block_env_at(&block_id)?; + + // create the executor + let executor = self.inner.backend.executor_factory.with_state_and_block_env(state, env); + let results = executor.simulate(executables, flags); + + let mut simulated = Vec::with_capacity(results.len()); + for (i, ResultAndStates { result, .. }) in results.into_iter().enumerate() { + match result { + ExecutionResult::Success { trace, receipt } => { + let transaction_trace = to_rpc_trace(trace); + let fee_estimation = to_rpc_fee_estimate(receipt.fee().clone()); + let value = SimulatedTransaction { transaction_trace, fee_estimation }; + simulated.push(value) + } + + ExecutionResult::Failed { error } => { + let error = StarknetApiError::TransactionExecutionError { + transaction_index: i, + execution_error: error.to_string(), + }; + return Err(error); + } + } + } + + Ok(simulated) + } + + fn block_traces( + &self, + block_id: BlockIdOrTag, + ) -> Result, StarknetApiError> { + use StarknetApiError::BlockNotFound; + + let provider = self.inner.backend.blockchain.provider(); + + let block_id: BlockHashOrNumber = match block_id { + BlockIdOrTag::Tag(BlockTag::Pending) => match self.pending_executor() { + Some(state) => { + let pending_block = state.read(); + + // extract the txs from the pending block + let traces = pending_block.transactions().iter().filter_map(|(t, r)| { + if let Some(trace) = r.trace() { + let transaction_hash = t.hash; + let trace_root = to_rpc_trace(trace.clone()); + Some(TransactionTraceWithHash { transaction_hash, trace_root }) + } else { + None + } + }); + + return Ok(traces.collect::>()); + } + + // if there is no pending block, return the latest block + None => provider.latest_number()?.into(), + }, + BlockIdOrTag::Tag(BlockTag::Latest) => provider.latest_number()?.into(), + BlockIdOrTag::Number(num) => num.into(), + BlockIdOrTag::Hash(hash) => hash.into(), + }; + + // TODO: we should probably simplify this query + let indices = provider.block_body_indices(block_id)?.ok_or(BlockNotFound)?; + let hashes = provider.transaction_hashes_in_range(indices.into())?; + let traces = provider.transaction_executions_by_block(block_id)?.ok_or(BlockNotFound)?; + + // convert to rpc types + let traces = traces.into_iter().map(to_rpc_trace); + let result = hashes + .into_iter() + .zip(traces) + .map(|(h, r)| TransactionTraceWithHash { transaction_hash: h, trace_root: r }) + .collect::>(); + + Ok(result) + } + + fn trace(&self, tx_hash: TxHash) -> Result { + use StarknetApiError::TxnHashNotFound; + + // Check in the pending block first + if let Some(state) = self.pending_executor() { + let pending_block = state.read(); + let tx = pending_block.transactions().iter().find(|(t, _)| t.hash == tx_hash); + + if let Some(trace) = tx.and_then(|(_, res)| res.trace()) { + return Ok(to_rpc_trace(trace.clone())); + } + } + + // If not found in pending block, fallback to the provider + let provider = self.inner.backend.blockchain.provider(); + let trace = provider.transaction_execution(tx_hash)?.ok_or(TxnHashNotFound)?; + + Ok(to_rpc_trace(trace)) + } +} + #[async_trait] impl StarknetTraceApiServer for StarknetApi { - async fn trace_transaction(&self, _: TxHash) -> RpcResult { - Err(Error::Call(CallError::Custom(ErrorObject::owned( - METHOD_NOT_FOUND_CODE, - "Unsupported method - starknet_traceTransaction".to_string(), - None::<()>, - )))) + async fn trace_transaction(&self, transaction_hash: TxHash) -> RpcResult { + self.on_io_blocking_task(move |this| Ok(this.trace(transaction_hash)?)).await } async fn simulate_transactions( @@ -36,188 +194,111 @@ impl StarknetTraceApiServer for StarknetApi { simulation_flags: Vec, ) -> RpcResult> { self.on_cpu_blocking_task(move |this| { - let chain_id = this.inner.backend.chain_id; - - let executables = transactions - .into_iter() - .map(|tx| { - let tx = match tx { - BroadcastedTx::Invoke(tx) => { - let is_query = tx.is_query(); - ExecutableTxWithHash::new_query( - ExecutableTx::Invoke(tx.into_tx_with_chain_id(chain_id)), - is_query, - ) - } - BroadcastedTx::Declare(tx) => { - let is_query = tx.is_query(); - ExecutableTxWithHash::new_query( - ExecutableTx::Declare( - tx.try_into_tx_with_chain_id(chain_id) - .map_err(|_| StarknetApiError::InvalidContractClass)?, - ), - is_query, - ) - } - BroadcastedTx::DeployAccount(tx) => { - let is_query = tx.is_query(); - ExecutableTxWithHash::new_query( - ExecutableTx::DeployAccount(tx.into_tx_with_chain_id(chain_id)), - is_query, - ) - } - }; - Result::::Ok(tx) - }) - .collect::, _>>()?; - - // If the node is run with transaction validation disabled, then we should not validate - // even if the `SKIP_VALIDATE` flag is not set. - #[allow(deprecated)] - let should_validate = !(simulation_flags.contains(&SimulationFlag::SkipValidate) - || this.inner.backend.config.disable_validate); - - // If the node is run with fee charge disabled, then we should disable charing fees even - // if the `SKIP_FEE_CHARGE` flag is not set. - #[allow(deprecated)] - let should_skip_fee = !(simulation_flags.contains(&SimulationFlag::SkipFeeCharge) - || this.inner.backend.config.disable_fee); - - let flags = katana_executor::SimulationFlag { - skip_validate: !should_validate, - skip_fee_transfer: !should_skip_fee, - ..Default::default() - }; - - // get the state and block env at the specified block for execution - let state = this.state(&block_id)?; - let env = this.block_env_at(&block_id)?; - - // create the executor - let executor = this.inner.backend.executor_factory.with_state_and_block_env(state, env); - let results = executor.simulate(executables, flags); - - let mut simulated = Vec::with_capacity(results.len()); - for (i, ResultAndStates { result, .. }) in results.into_iter().enumerate() { - match result { - ExecutionResult::Success { trace, receipt } => { - let fee_transfer_invocation = - trace.fee_transfer_call_info.map(|f| FunctionInvocation::from(f).0); - let validate_invocation = - trace.validate_call_info.map(|f| FunctionInvocation::from(f).0); - let execute_invocation = - trace.execute_call_info.map(|f| FunctionInvocation::from(f).0); - let revert_reason = trace.revert_error; - // TODO: compute the state diff - let state_diff = None; - - let execution_resources = ExecutionResources { - computation_resources: ComputationResources { - steps: 0, - memory_holes: None, - segment_arena_builtin: None, - ecdsa_builtin_applications: None, - ec_op_builtin_applications: None, - keccak_builtin_applications: None, - bitwise_builtin_applications: None, - pedersen_builtin_applications: None, - poseidon_builtin_applications: None, - range_check_builtin_applications: None, - }, - data_resources: DataResources { - data_availability: DataAvailabilityResources { - l1_gas: 0, - l1_data_gas: 0, - }, - }, - }; - - let transaction_trace = match receipt { - Receipt::Invoke(_) => { - TransactionTrace::Invoke(InvokeTransactionTrace { - fee_transfer_invocation, - validate_invocation, - state_diff, - execute_invocation: if let Some(revert_reason) = revert_reason { - ExecuteInvocation::Reverted(RevertedInvocation { - revert_reason, - }) - } else { - ExecuteInvocation::Success( - execute_invocation - .expect("should exist if not reverted"), - ) - }, - execution_resources: execution_resources.clone(), - }) - } - - Receipt::Declare(_) => { - TransactionTrace::Declare(DeclareTransactionTrace { - fee_transfer_invocation, - validate_invocation, - state_diff, - execution_resources: execution_resources.clone(), - }) - } - - Receipt::DeployAccount(_) => { - TransactionTrace::DeployAccount(DeployAccountTransactionTrace { - fee_transfer_invocation, - validate_invocation, - state_diff, - constructor_invocation: execute_invocation - .expect("should exist bcs tx succeed"), - execution_resources: execution_resources.clone(), - }) - } - - Receipt::L1Handler(_) => { - TransactionTrace::L1Handler(L1HandlerTransactionTrace { - state_diff, - function_invocation: execute_invocation - .expect("should exist bcs tx succeed"), - execution_resources, - }) - } - }; - - let fee = receipt.fee(); - simulated.push(SimulatedTransaction { - transaction_trace, - fee_estimation: FeeEstimate { - unit: fee.unit, - gas_price: fee.gas_price.into(), - overall_fee: fee.overall_fee.into(), - gas_consumed: fee.gas_consumed.into(), - data_gas_price: Default::default(), - data_gas_consumed: Default::default(), - }, - }) - } - - ExecutionResult::Failed { error } => { - return Err(Error::from(StarknetApiError::TransactionExecutionError { - transaction_index: i, - execution_error: error.to_string(), - })); - } - } - } - - Ok(simulated) + Ok(this.simulate_txs(block_id, transactions, simulation_flags)?) }) .await } async fn trace_block_transactions( &self, - _: BlockIdOrTag, + block_id: BlockIdOrTag, ) -> RpcResult> { - Err(Error::Call(CallError::Custom(ErrorObject::owned( - METHOD_NOT_FOUND_CODE, - "Unsupported method - starknet_traceBlockTransactions".to_string(), - None::<()>, - )))) + self.on_io_blocking_task(move |this| Ok(this.block_traces(block_id)?)).await + } +} + +// TODO: move this conversion to katana_rpc_types + +fn to_rpc_trace(trace: TxExecInfo) -> TransactionTrace { + let fee_transfer_invocation = + trace.fee_transfer_call_info.map(|f| FunctionInvocation::from(f).0); + let validate_invocation = trace.validate_call_info.map(|f| FunctionInvocation::from(f).0); + let execute_invocation = trace.execute_call_info.map(|f| FunctionInvocation::from(f).0); + let revert_reason = trace.revert_error; + // TODO: compute the state diff + let state_diff = None; + + let execution_resources = to_rpc_resources(trace.actual_resources.vm_resources); + + match trace.r#type { + TxType::Invoke => { + let execute_invocation = if let Some(revert_reason) = revert_reason { + let invocation = RevertedInvocation { revert_reason }; + ExecuteInvocation::Reverted(invocation) + } else { + let invocation = execute_invocation.expect("should exist if not reverted"); + ExecuteInvocation::Success(invocation) + }; + + TransactionTrace::Invoke(InvokeTransactionTrace { + fee_transfer_invocation, + execution_resources, + validate_invocation, + execute_invocation, + state_diff, + }) + } + + TxType::Declare => TransactionTrace::Declare(DeclareTransactionTrace { + fee_transfer_invocation, + validate_invocation, + execution_resources, + state_diff, + }), + + TxType::DeployAccount => { + let constructor_invocation = execute_invocation.expect("should exist if not reverted"); + TransactionTrace::DeployAccount(DeployAccountTransactionTrace { + fee_transfer_invocation, + constructor_invocation, + validate_invocation, + execution_resources, + state_diff, + }) + } + + TxType::L1Handler => { + let function_invocation = execute_invocation.expect("should exist if not reverted"); + TransactionTrace::L1Handler(L1HandlerTransactionTrace { + execution_resources, + function_invocation, + state_diff, + }) + } + } +} + +fn to_rpc_resources(resources: katana_primitives::trace::ExecutionResources) -> ExecutionResources { + let steps = resources.n_steps as u64; + let memory_holes = resources.n_memory_holes as u64; + let builtins = BuiltinCounters::from(resources.builtin_instance_counter); + + let data_availability = DataAvailabilityResources { l1_gas: 0, l1_data_gas: 0 }; + let data_resources = DataResources { data_availability }; + + let computation_resources = ComputationResources { + steps, + memory_holes: Some(memory_holes), + ecdsa_builtin_applications: builtins.ecdsa(), + ec_op_builtin_applications: builtins.ec_op(), + keccak_builtin_applications: builtins.keccak(), + segment_arena_builtin: builtins.segment_arena(), + bitwise_builtin_applications: builtins.bitwise(), + pedersen_builtin_applications: builtins.pedersen(), + poseidon_builtin_applications: builtins.poseidon(), + range_check_builtin_applications: builtins.range_check(), + }; + + ExecutionResources { data_resources, computation_resources } +} + +fn to_rpc_fee_estimate(fee: TxFeeInfo) -> FeeEstimate { + FeeEstimate { + unit: fee.unit, + gas_price: fee.gas_price.into(), + overall_fee: fee.overall_fee.into(), + gas_consumed: fee.gas_consumed.into(), + data_gas_price: Default::default(), + data_gas_consumed: Default::default(), } } diff --git a/crates/katana/rpc/rpc/src/starknet/write.rs b/crates/katana/rpc/rpc/src/starknet/write.rs index 158b0212a8..775b95fbce 100644 --- a/crates/katana/rpc/rpc/src/starknet/write.rs +++ b/crates/katana/rpc/rpc/src/starknet/write.rs @@ -21,10 +21,9 @@ impl StarknetApi { return Err(StarknetApiError::UnsupportedTransactionVersion); } - let tx = tx.into_tx_with_chain_id(this.inner.backend.chain_id); + let tx = tx.into_tx_with_chain_id(this.inner.backend.chain_spec.id); let tx = ExecutableTxWithHash::new(ExecutableTx::Invoke(tx)); - let hash = - this.inner.pool.add_transaction(tx).inspect_err(|e| println!("Error: {:?}", e))?; + let hash = this.inner.pool.add_transaction(tx)?; Ok(hash.into()) }) @@ -41,7 +40,7 @@ impl StarknetApi { } let tx = tx - .try_into_tx_with_chain_id(this.inner.backend.chain_id) + .try_into_tx_with_chain_id(this.inner.backend.chain_spec.id) .map_err(|_| StarknetApiError::InvalidContractClass)?; let class_hash = tx.class_hash(); @@ -62,7 +61,7 @@ impl StarknetApi { return Err(StarknetApiError::UnsupportedTransactionVersion); } - let tx = tx.into_tx_with_chain_id(this.inner.backend.chain_id); + let tx = tx.into_tx_with_chain_id(this.inner.backend.chain_spec.id); let contract_address = tx.contract_address(); let tx = ExecutableTxWithHash::new(ExecutableTx::DeployAccount(tx)); diff --git a/crates/katana/rpc/rpc/src/torii.rs b/crates/katana/rpc/rpc/src/torii.rs index e8db499384..99b4c32f5a 100644 --- a/crates/katana/rpc/rpc/src/torii.rs +++ b/crates/katana/rpc/rpc/src/torii.rs @@ -22,7 +22,7 @@ const MAX_PAGE_SIZE: usize = 100; pub struct ToriiApi { backend: Arc>, pool: TxPool, - block_producer: Arc>, + block_producer: BlockProducer, } impl Clone for ToriiApi { @@ -30,17 +30,13 @@ impl Clone for ToriiApi { Self { pool: self.pool.clone(), backend: Arc::clone(&self.backend), - block_producer: Arc::clone(&self.block_producer), + block_producer: self.block_producer.clone(), } } } impl ToriiApi { - pub fn new( - backend: Arc>, - pool: TxPool, - block_producer: Arc>, - ) -> Self { + pub fn new(backend: Arc>, pool: TxPool, block_producer: BlockProducer) -> Self { Self { pool, backend, block_producer } } diff --git a/crates/katana/rpc/rpc/tests/dev.rs b/crates/katana/rpc/rpc/tests/dev.rs index bdf75477b3..8b53f42c4a 100644 --- a/crates/katana/rpc/rpc/tests/dev.rs +++ b/crates/katana/rpc/rpc/tests/dev.rs @@ -1,13 +1,11 @@ -#![allow(deprecated)] - -use dojo_test_utils::sequencer::{get_default_test_starknet_config, TestSequencer}; -use katana_core::sequencer::SequencerConfig; +use dojo_test_utils::sequencer::{get_default_test_config, TestSequencer}; +use katana_node::config::SequencingConfig; use katana_provider::traits::block::{BlockNumberProvider, BlockProvider}; use katana_provider::traits::env::BlockEnvProvider; use katana_rpc_api::dev::DevApiClient; async fn create_test_sequencer() -> TestSequencer { - TestSequencer::start(SequencerConfig::default(), get_default_test_starknet_config()).await + TestSequencer::start(get_default_test_config(SequencingConfig::default())).await } use jsonrpsee::http_client::HttpClientBuilder; diff --git a/crates/katana/rpc/rpc/tests/messaging.rs b/crates/katana/rpc/rpc/tests/messaging.rs index 9dcb5a0031..ac11f7e8a3 100644 --- a/crates/katana/rpc/rpc/tests/messaging.rs +++ b/crates/katana/rpc/rpc/tests/messaging.rs @@ -5,26 +5,28 @@ use std::time::Duration; use alloy::primitives::{Uint, U256}; use alloy::providers::{ProviderBuilder, WalletProvider}; use alloy::sol; +use anyhow::Result; use cainome::cairo_serde::EthAddress; use cainome::rs::abigen; +use dojo_test_utils::sequencer::{get_default_test_config, TestSequencer}; use dojo_utils::TransactionWaiter; +use katana_core::service::messaging::MessagingConfig; +use katana_node::config::SequencingConfig; +use katana_primitives::felt; use katana_primitives::utils::transaction::{ compute_l1_handler_tx_hash, compute_l1_to_l2_message_hash, compute_l2_to_l1_message_hash, }; use katana_rpc_types::receipt::ReceiptBlock; -use katana_runner::{KatanaRunner, KatanaRunnerConfig}; use rand::Rng; -use serde_json::json; use starknet::accounts::{Account, ConnectedAccount}; use starknet::contract::ContractFactory; use starknet::core::types::{ - BlockId, BlockTag, ContractClass, Felt, Hash256, Transaction, TransactionFinalityStatus, - TransactionReceipt, + BlockId, BlockTag, ContractClass, Felt, Hash256, MsgFromL1, Transaction, + TransactionFinalityStatus, TransactionReceipt, }; use starknet::core::utils::get_contract_address; use starknet::macros::selector; use starknet::providers::Provider; -use tempfile::tempdir; mod common; @@ -62,30 +64,21 @@ async fn test_messaging() { // Deploy test contract on L1 used to send/receive messages to/from L2 let l1_test_contract = Contract1::deploy(&l1_provider, *core_contract.address()).await.unwrap(); - // Prepare Katana + Messaging Contract - let messaging_config = json!({ - "chain": "ethereum", - "rpc_url": format!("http://localhost:{}", port), - "contract_address": core_contract.address().to_string(), - "sender_address": l1_provider.default_signer_address(), - "private_key": "", - "interval": 2, - "from_block": 0 - }) - .to_string(); - - let dir = tempdir().expect("failed creating temp dir"); - let path = dir.path().join("temp-anvil-messaging.json"); - std::fs::write(&path, messaging_config.as_bytes()).expect("failed to write config to file"); - - let katana_runner = KatanaRunner::new_with_config(KatanaRunnerConfig { - n_accounts: 2, - messaging: Some(path.to_str().unwrap().to_string()), - ..Default::default() - }) - .unwrap(); - - let katana_account = katana_runner.account(0); + let messaging_config = MessagingConfig { + chain: "ethereum".to_string(), + rpc_url: format!("http://localhost:{}", port), + contract_address: core_contract.address().to_string(), + sender_address: l1_provider.default_signer_address().to_string(), + private_key: "".to_string(), + interval: 2, + from_block: 0, + }; + + let mut config = get_default_test_config(SequencingConfig::default()); + config.messaging = Some(messaging_config); + let sequencer = TestSequencer::start(config).await; + + let katana_account = sequencer.account(); // Deploy test L2 contract that can send/receive messages to/from L1 let l2_test_contract = { @@ -183,7 +176,7 @@ async fn test_messaging() { recipient, selector, &l1_tx_calldata, - katana_runner.provider().chain_id().await.unwrap(), + sequencer.provider().chain_id().await.unwrap(), nonce.to::().into(), ); @@ -309,3 +302,82 @@ async fn test_messaging() { assert_eq!(msg_fee._0, U256::ZERO, "msg fee must be zero after consuming"); } } + +#[tokio::test] +async fn estimate_message_fee() -> Result<()> { + let config = get_default_test_config(SequencingConfig::default()); + let sequencer = TestSequencer::start(config).await; + + let provider = sequencer.provider(); + let account = sequencer.account(); + + // Declare and deploy a l1 handler contract + let path = PathBuf::from("tests/test_data/cairo_l1_msg_contract.json"); + let (contract, compiled_hash) = common::prepare_contract_declaration_params(&path)?; + let class_hash = contract.class_hash(); + + let res = account.declare_v2(contract.into(), compiled_hash).send().await?; + TransactionWaiter::new(res.transaction_hash, account.provider()).await?; + + // Deploy the contract using UDC + let res = ContractFactory::new(class_hash, &account) + .deploy_v1(Vec::new(), Felt::ZERO, false) + .send() + .await?; + + TransactionWaiter::new(res.transaction_hash, account.provider()).await?; + + // Compute the contract address of the l1 handler contract + let l1handler_address = get_contract_address(Felt::ZERO, class_hash, &[], Felt::ZERO); + + // This is the function signature of the #[l1handler] function we''re gonna call. Though the + // function accepts two arguments, we're only gonna pass one argument, as the `from_address` + // of the `MsgFromL1` will be automatically injected as part of the function calldata. + // + // See https://docs.starknet.io/documentation/architecture_and_concepts/Network_Architecture/messaging-mechanism/#l1-l2-messages. + // + // #[l1_handler] + // fn msg_handler_value(ref self: ContractState, from_address: felt252, value: felt252) + + let entry_point_selector = selector!("msg_handler_value"); + let payload = vec![felt!("123")]; + let from_address = felt!("0x1337"); + let to_address = l1handler_address; + + let msg = MsgFromL1 { + payload, + to_address, + entry_point_selector, + from_address: from_address.try_into()?, + }; + + let result = provider.estimate_message_fee(msg, BlockId::Tag(BlockTag::Pending)).await; + assert!(result.is_ok()); + + // #[derive(Drop, Serde)] + // struct MyData { + // a: felt252, + // b: felt252, + // } + // + // #[l1_handler] + // fn msg_handler_struct(ref self: ContractState, from_address: felt252, data: MyData) + + let entry_point_selector = selector!("msg_handler_struct"); + // [ MyData.a , MyData.b ] + let payload = vec![felt!("1"), felt!("2")]; + let from_address = felt!("0x1337"); + let to_address = l1handler_address; + + let msg = MsgFromL1 { + payload, + to_address, + entry_point_selector, + from_address: from_address.try_into()?, + }; + + let result = provider.estimate_message_fee(msg, BlockId::Tag(BlockTag::Pending)).await; + assert!(result.is_ok()); + + Ok(()) +} diff --git a/crates/katana/rpc/rpc/tests/saya.rs b/crates/katana/rpc/rpc/tests/saya.rs index a49b2c15de..323e26439a 100644 --- a/crates/katana/rpc/rpc/tests/saya.rs +++ b/crates/katana/rpc/rpc/tests/saya.rs @@ -3,11 +3,10 @@ use std::path::PathBuf; use std::sync::Arc; -use dojo_test_utils::sequencer::{get_default_test_starknet_config, TestSequencer}; +use dojo_test_utils::sequencer::{get_default_test_config, TestSequencer}; use dojo_utils::TransactionWaiter; use jsonrpsee::http_client::HttpClientBuilder; -#[allow(deprecated)] -use katana_core::sequencer::SequencerConfig; +use katana_node::config::SequencingConfig; use katana_primitives::block::{BlockIdOrTag, BlockTag}; use katana_rpc_api::dev::DevApiClient; use katana_rpc_api::saya::SayaApiClient; @@ -21,10 +20,10 @@ mod common; #[tokio::test(flavor = "multi_thread")] async fn fetch_traces_from_block() { - let sequencer = TestSequencer::start( - SequencerConfig { no_mining: true, ..Default::default() }, - get_default_test_starknet_config(), - ) + let sequencer = TestSequencer::start(get_default_test_config(SequencingConfig { + no_mining: true, + ..Default::default() + })) .await; let client = HttpClientBuilder::default().build(sequencer.url()).unwrap(); @@ -90,10 +89,10 @@ async fn fetch_traces_from_block() { #[tokio::test(flavor = "multi_thread")] async fn fetch_traces_from_pending_block() { - let sequencer = TestSequencer::start( - SequencerConfig { no_mining: true, ..Default::default() }, - get_default_test_starknet_config(), - ) + let sequencer = TestSequencer::start(get_default_test_config(SequencingConfig { + no_mining: true, + ..Default::default() + })) .await; let client = HttpClientBuilder::default().build(sequencer.url()).unwrap(); diff --git a/crates/katana/rpc/rpc/tests/starknet.rs b/crates/katana/rpc/rpc/tests/starknet.rs index 281cadde81..f71868bd19 100644 --- a/crates/katana/rpc/rpc/tests/starknet.rs +++ b/crates/katana/rpc/rpc/tests/starknet.rs @@ -1,5 +1,3 @@ -#![allow(deprecated)] - use std::fs::{self}; use std::path::PathBuf; use std::sync::Arc; @@ -8,14 +6,14 @@ use anyhow::Result; use assert_matches::assert_matches; use cainome::rs::abigen_legacy; use common::split_felt; -use dojo_test_utils::sequencer::{get_default_test_starknet_config, TestSequencer}; +use dojo_test_utils::sequencer::{get_default_test_config, TestSequencer}; use indexmap::IndexSet; use jsonrpsee::http_client::HttpClientBuilder; -use katana_core::sequencer::SequencerConfig; +use katana_node::config::SequencingConfig; use katana_primitives::event::ContinuationToken; use katana_primitives::genesis::constant::{ - DEFAULT_FEE_TOKEN_ADDRESS, DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH, - DEFAULT_PREFUNDED_ACCOUNT_BALANCE, DEFAULT_UDC_ADDRESS, + DEFAULT_ACCOUNT_CLASS_HASH, DEFAULT_ETH_FEE_TOKEN_ADDRESS, DEFAULT_PREFUNDED_ACCOUNT_BALANCE, + DEFAULT_STRK_FEE_TOKEN_ADDRESS, DEFAULT_UDC_ADDRESS, }; use katana_rpc_api::dev::DevApiClient; use starknet::accounts::{ @@ -25,8 +23,8 @@ use starknet::accounts::{ use starknet::core::types::contract::legacy::LegacyContractClass; use starknet::core::types::{ BlockId, BlockTag, Call, DeclareTransactionReceipt, DeployAccountTransactionReceipt, - EventFilter, EventsPage, ExecutionResult, Felt, StarknetError, TransactionFinalityStatus, - TransactionReceipt, + EventFilter, EventsPage, ExecutionResult, Felt, StarknetError, TransactionExecutionStatus, + TransactionFinalityStatus, TransactionReceipt, TransactionTrace, }; use starknet::core::utils::get_contract_address; use starknet::macros::{felt, selector}; @@ -39,7 +37,7 @@ mod common; #[tokio::test] async fn declare_and_deploy_contract() -> Result<()> { let sequencer = - TestSequencer::start(SequencerConfig::default(), get_default_test_starknet_config()).await; + TestSequencer::start(get_default_test_config(SequencingConfig::default())).await; let account = sequencer.account(); let provider = sequencer.provider(); @@ -94,7 +92,7 @@ async fn declare_and_deploy_contract() -> Result<()> { #[tokio::test] async fn declare_and_deploy_legacy_contract() -> Result<()> { let sequencer = - TestSequencer::start(SequencerConfig::default(), get_default_test_starknet_config()).await; + TestSequencer::start(get_default_test_config(SequencingConfig::default())).await; let account = sequencer.account(); let provider = sequencer.provider(); @@ -152,11 +150,11 @@ async fn deploy_account( #[values(None, Some(1000))] block_time: Option, ) -> Result<()> { // setup test sequencer with the given configuration - let mut starknet_config = get_default_test_starknet_config(); - starknet_config.disable_fee = disable_fee; - let sequencer_config = SequencerConfig { block_time, ..Default::default() }; + let sequencing_config = SequencingConfig { block_time, ..Default::default() }; + let mut config = get_default_test_config(sequencing_config); + config.dev.fee = !disable_fee; - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; + let sequencer = TestSequencer::start(config).await; let provider = sequencer.provider(); let funding_account = sequencer.account(); @@ -164,14 +162,14 @@ async fn deploy_account( // Precompute the contract address of the new account with the given parameters: let signer = LocalWallet::from(SigningKey::from_random()); - let class_hash = DEFAULT_OZ_ACCOUNT_CONTRACT_CLASS_HASH; + let class_hash = DEFAULT_ACCOUNT_CLASS_HASH; let salt = felt!("0x123"); let ctor_args = [signer.get_public_key().await?.scalar()]; let computed_address = get_contract_address(salt, class_hash, &ctor_args, Felt::ZERO); // Fund the new account abigen_legacy!(FeeToken, "crates/katana/rpc/rpc/tests/test_data/erc20.json"); - let contract = FeeToken::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), &funding_account); + let contract = FeeToken::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &funding_account); // send enough tokens to the new_account's address just to send the deploy account tx let amount = Uint256 { low: felt!("0x100000000000"), high: Felt::ZERO }; @@ -239,13 +237,13 @@ abigen_legacy!(Erc20Contract, "crates/katana/rpc/rpc/tests/test_data/erc20.json" #[tokio::test] async fn estimate_fee() -> Result<()> { let sequencer = - TestSequencer::start(SequencerConfig::default(), get_default_test_starknet_config()).await; + TestSequencer::start(get_default_test_config(SequencingConfig::default())).await; let provider = sequencer.provider(); let account = sequencer.account(); // setup contract to interact with (can be any existing contract that can be interacted with) - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), &account); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); // setup contract function params let recipient = felt!("0x1"); @@ -283,10 +281,9 @@ async fn concurrent_transactions_submissions( #[values(None, Some(1000))] block_time: Option, ) -> Result<()> { // setup test sequencer with the given configuration - let starknet_config = get_default_test_starknet_config(); - let sequencer_config = SequencerConfig { block_time, ..Default::default() }; + let config = get_default_test_config(SequencingConfig { block_time, ..Default::default() }); + let sequencer = TestSequencer::start(config).await; - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; let provider = sequencer.provider(); let account = Arc::new(sequencer.account()); @@ -311,7 +308,7 @@ async fn concurrent_transactions_submissions( let handle = tokio::spawn(async move { let mut nonce = nonce.lock().await; - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), account); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), account); let res = contract.transfer(&recipient, &amount).nonce(*nonce).send().await.unwrap(); txs.lock().await.insert(res.transaction_hash); *nonce += Felt::ONE; @@ -358,15 +355,14 @@ macro_rules! assert_starknet_err { async fn ensure_validator_have_valid_state( #[values(None, Some(1000))] block_time: Option, ) -> Result<()> { - let mut starknet_config = get_default_test_starknet_config(); - starknet_config.disable_fee = false; - let sequencer_config = SequencerConfig { block_time, ..Default::default() }; + let mut config = get_default_test_config(SequencingConfig { block_time, ..Default::default() }); + config.dev.fee = true; - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; + let sequencer = TestSequencer::start(config).await; let account = sequencer.account(); // setup test contract to interact with. - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), &account); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); // reduce account balance let recipient = felt!("0x1337"); @@ -392,14 +388,12 @@ async fn send_txs_with_insufficient_fee( #[values(None, Some(1000))] block_time: Option, ) -> Result<()> { // setup test sequencer with the given configuration - let mut starknet_config = get_default_test_starknet_config(); - starknet_config.disable_fee = disable_fee; - let sequencer_config = SequencerConfig { block_time, ..Default::default() }; - - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; + let mut config = get_default_test_config(SequencingConfig { block_time, ..Default::default() }); + config.dev.fee = !disable_fee; + let sequencer = TestSequencer::start(config).await; // setup test contract to interact with. - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), sequencer.account()); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), sequencer.account()); // function call params let recipient = Felt::ONE; @@ -414,17 +408,21 @@ async fn send_txs_with_insufficient_fee( let res = contract.transfer(&recipient, &amount).max_fee(Felt::TWO).send().await; if disable_fee { - // in no fee mode, setting the max fee (which translates to the tx run resources) lower - // than the amount required would result in a validation failure. due to insufficient - // resources. - assert_starknet_err!(res.unwrap_err(), StarknetError::ValidationFailure(_)); + // In no fee mode, the transaction resources (ie max fee) is totally ignored. So doesn't + // matter what value is set, the transaction will always be executed successfully. + assert_matches!(res, Ok(tx) => { + let tx_hash = tx.transaction_hash; + assert_matches!(dojo_utils::TransactionWaiter::new(tx_hash, &sequencer.provider()).await, Ok(_)); + }); + + let nonce = sequencer.account().get_nonce().await?; + assert_eq!(initial_nonce + 1, nonce, "Nonce should change in fee-disabled mode"); } else { assert_starknet_err!(res.unwrap_err(), StarknetError::InsufficientMaxFee); + let nonce = sequencer.account().get_nonce().await?; + assert_eq!(initial_nonce, nonce, "Nonce shouldn't change in fee-enabled mode"); } - let nonce = sequencer.account().get_nonce().await?; - assert_eq!(initial_nonce, nonce, "Nonce shouldn't change after invalid tx"); - // ----------------------------------------------------------------------- // transaction with insufficient balance. @@ -439,13 +437,13 @@ async fn send_txs_with_insufficient_fee( // nonce should be incremented by 1 after a valid tx. let nonce = sequencer.account().get_nonce().await?; - assert_eq!(initial_nonce + 1, nonce); + assert_eq!(initial_nonce + 2, nonce, "Nonce should change in fee-disabled mode"); } else { assert_starknet_err!(res.unwrap_err(), StarknetError::InsufficientAccountBalance); // nonce shouldn't change for an invalid tx. let nonce = sequencer.account().get_nonce().await?; - assert_eq!(initial_nonce, nonce); + assert_eq!(initial_nonce, nonce, "Nonce shouldn't change in fee-enabled mode"); } Ok(()) @@ -458,11 +456,9 @@ async fn send_txs_with_invalid_signature( #[values(None, Some(1000))] block_time: Option, ) -> Result<()> { // setup test sequencer with the given configuration - let mut starknet_config = get_default_test_starknet_config(); - starknet_config.disable_validate = disable_validate; - let sequencer_config = SequencerConfig { block_time, ..Default::default() }; - - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; + let mut config = get_default_test_config(SequencingConfig { block_time, ..Default::default() }); + config.dev.account_validation = !disable_validate; + let sequencer = TestSequencer::start(config).await; // starknet-rs doesn't provide a way to manually set the signatures so instead we create an // account with random signer to simulate invalid signatures. @@ -476,7 +472,7 @@ async fn send_txs_with_invalid_signature( ); // setup test contract to interact with. - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), &account); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); // function call params let recipient = Felt::ONE; @@ -515,15 +511,14 @@ async fn send_txs_with_invalid_nonces( #[values(None, Some(1000))] block_time: Option, ) -> Result<()> { // setup test sequencer with the given configuration - let starknet_config = get_default_test_starknet_config(); - let sequencer_config = SequencerConfig { block_time, ..Default::default() }; + let config = get_default_test_config(SequencingConfig { block_time, ..Default::default() }); + let sequencer = TestSequencer::start(config).await; - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; let provider = sequencer.provider(); let account = sequencer.account(); // setup test contract to interact with. - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), &account); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); // function call params let recipient = Felt::ONE; @@ -583,9 +578,9 @@ async fn send_txs_with_invalid_nonces( #[tokio::test] async fn get_events_no_pending() -> Result<()> { // setup test sequencer with the given configuration - let starknet_config = get_default_test_starknet_config(); - let sequencer_config = SequencerConfig { no_mining: true, ..Default::default() }; - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; + let config = + get_default_test_config(SequencingConfig { no_mining: true, ..Default::default() }); + let sequencer = TestSequencer::start(config).await; // create a json rpc client to interact with the dev api. let client = HttpClientBuilder::default().build(sequencer.url()).unwrap(); @@ -594,7 +589,7 @@ async fn get_events_no_pending() -> Result<()> { let account = sequencer.account(); // setup test contract to interact with. - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), &account); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); // tx that emits 1 event let tx = || contract.transfer(&Felt::ONE, &Uint256 { low: Felt::ONE, high: Felt::ZERO }); @@ -669,9 +664,9 @@ async fn get_events_no_pending() -> Result<()> { #[tokio::test] async fn get_events_with_pending() -> Result<()> { // setup test sequencer with the given configuration - let starknet_config = get_default_test_starknet_config(); - let sequencer_config = SequencerConfig { no_mining: true, ..Default::default() }; - let sequencer = TestSequencer::start(sequencer_config, starknet_config).await; + let config = + get_default_test_config(SequencingConfig { no_mining: true, ..Default::default() }); + let sequencer = TestSequencer::start(config).await; // create a json rpc client to interact with the dev api. let client = HttpClientBuilder::default().build(sequencer.url()).unwrap(); @@ -680,7 +675,7 @@ async fn get_events_with_pending() -> Result<()> { let account = sequencer.account(); // setup test contract to interact with. - let contract = Erc20Contract::new(DEFAULT_FEE_TOKEN_ADDRESS.into(), &account); + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); // tx that emits 1 event let tx = || contract.transfer(&Felt::ONE, &Uint256 { low: Felt::ONE, high: Felt::ZERO }); @@ -756,3 +751,175 @@ async fn get_events_with_pending() -> Result<()> { Ok(()) } + +#[tokio::test] +async fn trace() -> Result<()> { + let config = + get_default_test_config(SequencingConfig { no_mining: true, ..Default::default() }); + let sequencer = TestSequencer::start(config).await; + + let provider = sequencer.provider(); + let account = sequencer.account(); + let rpc_client = HttpClientBuilder::default().build(sequencer.url())?; + + // setup contract to interact with (can be any existing contract that can be interacted with) + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); + + // setup contract function params + let recipient = felt!("0x1"); + let amount = Uint256 { low: felt!("0x1"), high: Felt::ZERO }; + + // ----------------------------------------------------------------------- + // Transactions not in pending block + + let mut hashes = Vec::new(); + + for _ in 0..2 { + let res = contract.transfer(&recipient, &amount).send().await?; + dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await?; + hashes.push(res.transaction_hash); + } + + // Generate a block to include the transactions. The generated block will have block number 1. + rpc_client.generate_block().await?; + + for hash in hashes { + let trace = provider.trace_transaction(hash).await?; + assert_matches!(trace, TransactionTrace::Invoke(_)); + } + + // ----------------------------------------------------------------------- + // Transactions in pending block + + for _ in 0..2 { + let res = contract.transfer(&recipient, &amount).send().await?; + dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await?; + + let trace = provider.trace_transaction(res.transaction_hash).await?; + assert_matches!(trace, TransactionTrace::Invoke(_)); + } + + Ok(()) +} + +#[tokio::test] +async fn block_traces() -> Result<()> { + let config = + get_default_test_config(SequencingConfig { no_mining: true, ..Default::default() }); + let sequencer = TestSequencer::start(config).await; + + let provider = sequencer.provider(); + let account = sequencer.account(); + let rpc_client = HttpClientBuilder::default().build(sequencer.url())?; + + // setup contract to interact with (can be any existing contract that can be interacted with) + let contract = Erc20Contract::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &account); + + // setup contract function params + let recipient = felt!("0x1"); + let amount = Uint256 { low: felt!("0x1"), high: Felt::ZERO }; + + let mut hashes = Vec::new(); + + // ----------------------------------------------------------------------- + // Block 1 + + for _ in 0..5 { + let res = contract.transfer(&recipient, &amount).send().await?; + dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await?; + hashes.push(res.transaction_hash); + } + + // Generate a block to include the transactions. The generated block will have block number 1. + rpc_client.generate_block().await?; + + // Get the traces of the transactions in block 1. + let block_id = BlockId::Number(1); + let traces = provider.trace_block_transactions(block_id).await?; + assert_eq!(traces.len(), 5); + + for i in 0..5 { + assert_eq!(traces[i].transaction_hash, hashes[i]); + assert_matches!(&traces[i].trace_root, TransactionTrace::Invoke(_)); + } + + // ----------------------------------------------------------------------- + // Block 2 + + // remove the previous transaction hashes + hashes.clear(); + + for _ in 0..2 { + let res = contract.transfer(&recipient, &amount).send().await?; + dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await?; + hashes.push(res.transaction_hash); + } + + // Generate a block to include the transactions. The generated block will have block number 2. + rpc_client.generate_block().await?; + + // Get the traces of the transactions in block 2. + let block_id = BlockId::Number(2); + let traces = provider.trace_block_transactions(block_id).await?; + assert_eq!(traces.len(), 2); + + for i in 0..2 { + assert_eq!(traces[i].transaction_hash, hashes[i]); + assert_matches!(&traces[i].trace_root, TransactionTrace::Invoke(_)); + } + + // ----------------------------------------------------------------------- + // Block 3 (Pending) + + // remove the previous transaction hashes + hashes.clear(); + + for _ in 0..3 { + let res = contract.transfer(&recipient, &amount).send().await?; + dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await?; + hashes.push(res.transaction_hash); + } + + // Get the traces of the transactions in block 3 (pending). + let block_id = BlockId::Tag(BlockTag::Pending); + let traces = provider.trace_block_transactions(block_id).await?; + assert_eq!(traces.len(), 3); + + for i in 0..3 { + assert_eq!(traces[i].transaction_hash, hashes[i]); + assert_matches!(&traces[i].trace_root, TransactionTrace::Invoke(_)); + } + + Ok(()) +} + +// Test that the v3 transactions are working as expected. The expectation is that the v3 transaction +// will be using STRK fee token as its gas fee. So, the STRK fee token must exist in the chain in +// order for this to pass. +#[tokio::test] +async fn v3_transactions() -> Result<()> { + let config = + get_default_test_config(SequencingConfig { no_mining: true, ..Default::default() }); + let sequencer = TestSequencer::start(config).await; + + let provider = sequencer.provider(); + let account = sequencer.account(); + + // craft a raw v3 transaction, should probably use abigen for simplicity + let to = DEFAULT_STRK_FEE_TOKEN_ADDRESS.into(); + let selector = selector!("transfer"); + let calldata = vec![felt!("0x1"), felt!("0x1"), Felt::ZERO]; + + let res = account + .execute_v3(vec![Call { to, selector, calldata }]) + .gas(100000000000) + .send() + .await + .inspect_err(|e| println!("transaction failed: {e:?}"))?; + + let receipt = dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await?; + let status = receipt.receipt.execution_result().status(); + assert_eq!(status, TransactionExecutionStatus::Succeeded); + + Ok(()) +} diff --git a/crates/katana/rpc/rpc/tests/test_data/erc20.json b/crates/katana/rpc/rpc/tests/test_data/erc20.json index e8ed708b86..5a33ccc1b7 120000 --- a/crates/katana/rpc/rpc/tests/test_data/erc20.json +++ b/crates/katana/rpc/rpc/tests/test_data/erc20.json @@ -1 +1 @@ -../../../../contracts/compiled/erc20.json \ No newline at end of file +../../../../contracts/build/erc20.json \ No newline at end of file diff --git a/crates/katana/rpc/rpc/tests/torii.rs b/crates/katana/rpc/rpc/tests/torii.rs index 0d6d503178..32abc4ed15 100644 --- a/crates/katana/rpc/rpc/tests/torii.rs +++ b/crates/katana/rpc/rpc/tests/torii.rs @@ -4,10 +4,10 @@ use std::path::PathBuf; use std::sync::Arc; use std::time::Duration; -use dojo_test_utils::sequencer::{get_default_test_starknet_config, TestSequencer}; +use dojo_test_utils::sequencer::{get_default_test_config, TestSequencer}; use dojo_utils::TransactionWaiter; use jsonrpsee::http_client::HttpClientBuilder; -use katana_core::sequencer::SequencerConfig; +use katana_node::config::SequencingConfig; use katana_rpc_api::dev::DevApiClient; use katana_rpc_api::starknet::StarknetApiClient; use katana_rpc_api::torii::ToriiApiClient; @@ -25,11 +25,9 @@ pub const ENOUGH_GAS: &str = "0x100000000000000000"; #[tokio::test(flavor = "multi_thread")] async fn test_get_transactions() { - let sequencer = TestSequencer::start( - SequencerConfig { no_mining: true, ..Default::default() }, - get_default_test_starknet_config(), - ) - .await; + // setup test sequencer with the given configuration + let sequencing_config = SequencingConfig { no_mining: true, ..Default::default() }; + let sequencer = TestSequencer::start(get_default_test_config(sequencing_config)).await; let client = HttpClientBuilder::default().build(sequencer.url()).unwrap(); @@ -182,11 +180,8 @@ async fn test_get_transactions() { #[tokio::test(flavor = "multi_thread")] async fn test_get_transactions_with_instant_mining() { - let sequencer = TestSequencer::start( - SequencerConfig { no_mining: false, ..Default::default() }, - get_default_test_starknet_config(), - ) - .await; + let sequencing_config = SequencingConfig::default(); + let sequencer = TestSequencer::start(get_default_test_config(sequencing_config)).await; let client = HttpClientBuilder::default().build(sequencer.url()).unwrap(); diff --git a/crates/katana/runner/macro/Cargo.toml b/crates/katana/runner/macro/Cargo.toml index 45c0ce5064..a8e2689be0 100644 --- a/crates/katana/runner/macro/Cargo.toml +++ b/crates/katana/runner/macro/Cargo.toml @@ -11,6 +11,3 @@ proc-macro = true proc-macro2 = "1.0.86" quote = "1.0" syn = { version = "2.0", features = [ "fold", "full" ] } - -[dev-dependencies] -starknet.workspace = true diff --git a/crates/katana/runner/macro/src/config.rs b/crates/katana/runner/macro/src/config.rs index cb6c6b8651..32378cc4ef 100644 --- a/crates/katana/runner/macro/src/config.rs +++ b/crates/katana/runner/macro/src/config.rs @@ -18,6 +18,7 @@ pub struct Configuration { pub db_dir: Option, pub block_time: Option, pub log_path: Option, + pub chain_id: Option, } impl Configuration { @@ -32,6 +33,7 @@ impl Configuration { validation: None, block_time: None, crate_name: None, + chain_id: None, } } @@ -105,6 +107,19 @@ impl Configuration { self.accounts = Some(accounts); Ok(()) } + + fn set_chain_id( + &mut self, + chain_id: syn::Expr, + span: proc_macro2::Span, + ) -> Result<(), syn::Error> { + if self.chain_id.is_some() { + return Err(syn::Error::new(span, "`chain_id` set multiple times.")); + } + + self.chain_id = Some(chain_id); + Ok(()) + } } enum RunnerArg { @@ -113,6 +128,7 @@ enum RunnerArg { Validation, Accounts, DbDir, + ChainId, } impl std::str::FromStr for RunnerArg { @@ -125,9 +141,10 @@ impl std::str::FromStr for RunnerArg { "validation" => Ok(RunnerArg::Validation), "accounts" => Ok(RunnerArg::Accounts), "db_dir" => Ok(RunnerArg::DbDir), + "chain_id" => Ok(RunnerArg::ChainId), _ => Err(format!( "Unknown attribute {s} is specified; expected one of: `fee`, `validation`, \ - `accounts`, `db_dir`, `block_time`", + `accounts`, `db_dir`, `block_time`, `chain_id`", )), } } @@ -172,7 +189,9 @@ pub fn build_config( RunnerArg::DbDir => { config.set_db_dir(expr.clone(), Spanned::span(&namevalue))? } - + RunnerArg::ChainId => { + config.set_chain_id(expr.clone(), Spanned::span(&namevalue))? + } RunnerArg::Fee => config.set_fee(expr.clone(), Spanned::span(&namevalue))?, } } diff --git a/crates/katana/runner/macro/src/entry.rs b/crates/katana/runner/macro/src/entry.rs index 6311fbdf52..53f2d390ce 100644 --- a/crates/katana/runner/macro/src/entry.rs +++ b/crates/katana/runner/macro/src/entry.rs @@ -74,7 +74,11 @@ pub fn parse_knobs(input: ItemFn, is_test: bool, config: Configuration) -> Token } if let Some(value) = config.log_path { - cfg = quote_spanned! (last_stmt_start_span=> #cfg, log_path: Some(#value), ); + cfg = quote_spanned! (last_stmt_start_span=> #cfg log_path: Some(#value), ); + } + + if let Some(value) = config.chain_id { + cfg = quote_spanned! (last_stmt_start_span=> #cfg chain_id: Some(#value), ); } if config.dev { diff --git a/crates/katana/runner/src/lib.rs b/crates/katana/runner/src/lib.rs index fc063e01cc..c3633b0e5d 100644 --- a/crates/katana/runner/src/lib.rs +++ b/crates/katana/runner/src/lib.rs @@ -67,6 +67,8 @@ pub struct KatanaRunnerConfig { pub db_dir: Option, /// Whether to run the katana runner with the `dev` rpc endpoints. pub dev: bool, + /// The chain id to use. + pub chain_id: Option, } impl Default for KatanaRunnerConfig { @@ -82,6 +84,7 @@ impl Default for KatanaRunnerConfig { messaging: None, db_dir: None, dev: false, + chain_id: None, } } } @@ -123,6 +126,10 @@ impl KatanaRunner { .dev(config.dev) .fee(!config.disable_fee); + if let Some(id) = config.chain_id { + builder = builder.chain_id(id); + } + if let Some(block_time_ms) = config.block_time { builder = builder.block_time(block_time_ms); } diff --git a/crates/katana/runner/tests/runner.rs b/crates/katana/runner/tests/runner.rs index dcec61acd1..ba068658ff 100644 --- a/crates/katana/runner/tests/runner.rs +++ b/crates/katana/runner/tests/runner.rs @@ -1,4 +1,5 @@ use katana_runner::RunnerCtx; +use starknet::macros::short_string; use starknet::providers::Provider; #[katana_runner::test(fee = false, accounts = 7)] @@ -6,6 +7,14 @@ fn simple(runner: &RunnerCtx) { assert_eq!(runner.accounts().len(), 7); } +#[tokio::test(flavor = "multi_thread")] +#[katana_runner::test(chain_id = short_string!("SN_SEPOLIA"))] +async fn custom_chain_id(runner: &RunnerCtx) { + let provider = runner.provider(); + let id = provider.chain_id().await.unwrap(); + assert_eq!(id, short_string!("SN_SEPOLIA")); +} + #[katana_runner::test] fn with_return(_: &RunnerCtx) -> Result<(), Box> { Ok(()) @@ -15,6 +24,7 @@ fn with_return(_: &RunnerCtx) -> Result<(), Box> { #[katana_runner::test] async fn with_async(ctx: &RunnerCtx) -> Result<(), Box> { let provider = ctx.provider(); - let _ = provider.chain_id().await?; + let id = provider.chain_id().await?; + assert_eq!(id, short_string!("KATANA")); Ok(()) } diff --git a/crates/katana/storage/db/Cargo.toml b/crates/katana/storage/db/Cargo.toml index ce6aaf883b..3677b485cf 100644 --- a/crates/katana/storage/db/Cargo.toml +++ b/crates/katana/storage/db/Cargo.toml @@ -22,11 +22,7 @@ thiserror.workspace = true tracing.workspace = true # codecs -[dependencies.postcard] -default-features = false -features = [ "use-std" ] -optional = true -version = "1.0.8" +postcard = { workspace = true, optional = true } [dependencies.libmdbx] git = "https://github.com/paradigmxyz/reth.git" diff --git a/crates/katana/storage/db/src/version.rs b/crates/katana/storage/db/src/version.rs index f77bc28b2f..c1600f0b0c 100644 --- a/crates/katana/storage/db/src/version.rs +++ b/crates/katana/storage/db/src/version.rs @@ -5,7 +5,7 @@ use std::mem; use std::path::{Path, PathBuf}; /// Current version of the database. -pub const CURRENT_DB_VERSION: u32 = 1; +pub const CURRENT_DB_VERSION: u32 = 2; /// Name of the version file. const DB_VERSION_FILE_NAME: &str = "db.version"; @@ -81,6 +81,6 @@ mod tests { #[test] fn test_current_version() { use super::CURRENT_DB_VERSION; - assert_eq!(CURRENT_DB_VERSION, 1, "Invalid current database version") + assert_eq!(CURRENT_DB_VERSION, 2, "Invalid current database version") } } diff --git a/crates/katana/storage/provider/Cargo.toml b/crates/katana/storage/provider/Cargo.toml index b9c0379152..4cf24e81b8 100644 --- a/crates/katana/storage/provider/Cargo.toml +++ b/crates/katana/storage/provider/Cargo.toml @@ -32,7 +32,6 @@ test-utils = [ "dep:alloy-primitives", "dep:serde_json" ] [dev-dependencies] alloy-primitives.workspace = true -katana-core.workspace = true katana-runner.workspace = true lazy_static.workspace = true rand.workspace = true diff --git a/crates/katana/storage/provider/src/providers/db/mod.rs b/crates/katana/storage/provider/src/providers/db/mod.rs index 4cacb73cbc..77a1c03ad0 100644 --- a/crates/katana/storage/provider/src/providers/db/mod.rs +++ b/crates/katana/storage/provider/src/providers/db/mod.rs @@ -590,7 +590,8 @@ impl BlockEnvProvider for DbProvider { Ok(Some(BlockEnv { number: header.number, timestamp: header.timestamp, - l1_gas_prices: header.gas_prices, + l1_gas_prices: header.l1_gas_prices, + l1_data_gas_prices: header.l1_data_gas_prices, sequencer_address: header.sequencer_address, })) } diff --git a/crates/katana/storage/provider/src/providers/fork/backend.rs b/crates/katana/storage/provider/src/providers/fork/backend.rs index 8b41259fd1..265aa502a3 100644 --- a/crates/katana/storage/provider/src/providers/fork/backend.rs +++ b/crates/katana/storage/provider/src/providers/fork/backend.rs @@ -22,7 +22,7 @@ use katana_primitives::Felt; use parking_lot::Mutex; use starknet::core::types::{BlockId, ContractClass as RpcContractClass, StarknetError}; use starknet::providers::{Provider, ProviderError as StarknetProviderError}; -use tracing::{error, info, trace}; +use tracing::{error, trace}; use crate::error::ProviderError; use crate::providers::in_memory::cache::CacheStateDb; @@ -152,7 +152,7 @@ where }) .map_err(BackendError::BackendThreadInit)?; - info!(target: LOG_TARGET, "Forking backend started."); + trace!(target: LOG_TARGET, "Forking backend started."); Ok(handle) } diff --git a/crates/katana/storage/provider/src/providers/fork/mod.rs b/crates/katana/storage/provider/src/providers/fork/mod.rs index 104b1a9328..a11cea3e54 100644 --- a/crates/katana/storage/provider/src/providers/fork/mod.rs +++ b/crates/katana/storage/provider/src/providers/fork/mod.rs @@ -576,7 +576,8 @@ impl BlockEnvProvider for ForkedProvider { Ok(self.header(block_id)?.map(|header| BlockEnv { number: header.number, timestamp: header.timestamp, - l1_gas_prices: header.gas_prices, + l1_gas_prices: header.l1_gas_prices, + l1_data_gas_prices: header.l1_data_gas_prices, sequencer_address: header.sequencer_address, })) } diff --git a/crates/katana/storage/provider/src/providers/fork/state.rs b/crates/katana/storage/provider/src/providers/fork/state.rs index aa181cd480..77e0605205 100644 --- a/crates/katana/storage/provider/src/providers/fork/state.rs +++ b/crates/katana/storage/provider/src/providers/fork/state.rs @@ -219,6 +219,7 @@ impl ContractClassProvider for ForkedSnapshot { mod tests { use std::collections::BTreeMap; + use katana_primitives::address; use katana_primitives::state::{StateUpdates, StateUpdatesWithDeclaredClasses}; use starknet::macros::felt; @@ -229,7 +230,7 @@ mod tests { fn test_get_nonce() { let backend = create_forked_backend("http://localhost:8080", 1); - let address: ContractAddress = felt!("1").into(); + let address = address!("1"); let class_hash = felt!("11"); let remote_nonce = felt!("111"); let local_nonce = felt!("1111"); diff --git a/crates/katana/storage/provider/src/providers/in_memory/mod.rs b/crates/katana/storage/provider/src/providers/in_memory/mod.rs index 2fc8b7aac4..34b7172419 100644 --- a/crates/katana/storage/provider/src/providers/in_memory/mod.rs +++ b/crates/katana/storage/provider/src/providers/in_memory/mod.rs @@ -570,7 +570,8 @@ impl BlockEnvProvider for InMemoryProvider { Ok(self.header(block_id)?.map(|header| BlockEnv { number: header.number, timestamp: header.timestamp, - l1_gas_prices: header.gas_prices, + l1_gas_prices: header.l1_gas_prices, + l1_data_gas_prices: header.l1_data_gas_prices, sequencer_address: header.sequencer_address, })) } diff --git a/crates/katana/storage/provider/src/test_utils.rs b/crates/katana/storage/provider/src/test_utils.rs index 151ad7a560..e0e60479bd 100644 --- a/crates/katana/storage/provider/src/test_utils.rs +++ b/crates/katana/storage/provider/src/test_utils.rs @@ -3,6 +3,7 @@ use std::sync::Arc; use alloy_primitives::U256; use katana_db::mdbx::{test_utils, DbEnvKind}; use katana_primitives::block::{BlockHash, FinalityStatus}; +use katana_primitives::chain_spec::ChainSpec; use katana_primitives::class::CompiledClass; use katana_primitives::contract::ContractAddress; use katana_primitives::genesis::allocation::{ @@ -10,6 +11,7 @@ use katana_primitives::genesis::allocation::{ }; use katana_primitives::genesis::{Genesis, GenesisClass}; use katana_primitives::utils::class::parse_compiled_class_v1; +use katana_primitives::{address, chain_spec}; use starknet::macros::felt; use crate::providers::db::DbProvider; @@ -32,12 +34,12 @@ pub fn test_db_provider() -> DbProvider { /// Initializes the provider with a genesis block and states. fn initialize_test_provider(provider: &P) { - let genesis = create_genesis_for_testing(); + let chain = create_chain_for_testing(); let hash = BlockHash::ZERO; let status = FinalityStatus::AcceptedOnL2; - let block = genesis.block().seal_with_hash_and_status(hash, status); - let states = genesis.state_updates(); + let block = chain.block().seal_with_hash_and_status(hash, status); + let states = chain.state_updates(); provider .insert_block_with_states_and_receipts(block, states, Vec::new(), Vec::new()) @@ -47,9 +49,11 @@ fn initialize_test_provider(provider: &P) { /// Creates a genesis config specifically for testing purposes. /// This includes: /// - An account with simple `__execute__` function, deployed at address `0x1`. -pub fn create_genesis_for_testing() -> Genesis { +pub fn create_chain_for_testing() -> ChainSpec { + let mut chain = chain_spec::DEV_UNALLOCATED.clone(); + let class_hash = felt!("0x111"); - let address = ContractAddress::from(felt!("0x1")); + let address = address!("0x1"); // TODO: we should have a genesis builder that can do all of this for us. let class = { @@ -72,5 +76,7 @@ pub fn create_genesis_for_testing() -> Genesis { // insert test account class and contract genesis.classes.insert(class_hash, class); genesis.extend_allocations([(address, account)]); - genesis + + chain.genesis = genesis; + chain } diff --git a/crates/katana/storage/provider/test-data/simple_account.sierra.json b/crates/katana/storage/provider/test-data/simple_account.sierra.json index e85326c2b0..9793e10f3e 120000 --- a/crates/katana/storage/provider/test-data/simple_account.sierra.json +++ b/crates/katana/storage/provider/test-data/simple_account.sierra.json @@ -1 +1 @@ -../../../contracts/compiled/account_with_dummy_validate.sierra.json \ No newline at end of file +../../../contracts/build/account_with_dummy_validate.sierra.json \ No newline at end of file diff --git a/crates/katana/storage/provider/tests/block.rs b/crates/katana/storage/provider/tests/block.rs index 57cfca9ff9..8d1b5c33f5 100644 --- a/crates/katana/storage/provider/tests/block.rs +++ b/crates/katana/storage/provider/tests/block.rs @@ -126,7 +126,8 @@ where let expected_block_env = BlockEnv { number: expected_block_num, timestamp: expected_block.header.timestamp, - l1_gas_prices: expected_block.header.gas_prices.clone(), + l1_gas_prices: expected_block.header.l1_gas_prices.clone(), + l1_data_gas_prices: expected_block.header.l1_data_gas_prices.clone(), sequencer_address: expected_block.header.sequencer_address, }; @@ -231,7 +232,8 @@ where let expected_block_env = BlockEnv { number: expected_block_num, timestamp: expected_block.header.timestamp, - l1_gas_prices: expected_block.header.gas_prices.clone(), + l1_gas_prices: expected_block.header.l1_gas_prices.clone(), + l1_data_gas_prices: expected_block.header.l1_data_gas_prices.clone(), sequencer_address: expected_block.header.sequencer_address, }; diff --git a/crates/katana/storage/provider/tests/class.rs b/crates/katana/storage/provider/tests/class.rs index 3e850b83c8..cfd4ab21f1 100644 --- a/crates/katana/storage/provider/tests/class.rs +++ b/crates/katana/storage/provider/tests/class.rs @@ -7,9 +7,7 @@ use fixtures::{ }; use katana_primitives::block::{BlockHashOrNumber, BlockNumber}; use katana_primitives::class::{ClassHash, CompiledClass, CompiledClassHash, FlattenedSierraClass}; -use katana_primitives::genesis::constant::{ - DEFAULT_LEGACY_ERC20_CONTRACT_CASM, DEFAULT_LEGACY_UDC_CASM, -}; +use katana_primitives::genesis::constant::{DEFAULT_LEGACY_ERC20_CASM, DEFAULT_LEGACY_UDC_CASM}; use katana_provider::providers::fork::ForkedProvider; use katana_provider::providers::in_memory::InMemoryProvider; use katana_provider::traits::state::{StateFactoryProvider, StateProvider}; @@ -65,7 +63,7 @@ mod latest { #[rstest::rstest] #[case( vec![ - (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()), None), + (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CASM.clone()), None), (felt!("22"), Some(felt!("2000")), Some(DEFAULT_LEGACY_UDC_CASM.clone()), None), (felt!("33"), Some(felt!("3000")), Some((*DOJO_WORLD_COMPILED_CLASS).clone()), Some((*DOJO_WORLD_SIERRA_CLASS).clone())), ] @@ -135,7 +133,7 @@ mod historical { #[case::class_hash_at_block_1( 1, vec![ - (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()), None), + (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CASM.clone()), None), (felt!("22"), None, None, None), (felt!("33"), None, None, None), ]) @@ -143,7 +141,7 @@ mod historical { #[case::class_hash_at_block_4( 4, vec![ - (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()), None), + (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CASM.clone()), None), (felt!("22"), Some(felt!("2000")), Some(DEFAULT_LEGACY_UDC_CASM.clone()), None), (felt!("33"), None, None, None), ]) @@ -151,7 +149,7 @@ mod historical { #[case::class_hash_at_block_5( 5, vec![ - (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone()), None), + (felt!("11"), Some(felt!("1000")), Some(DEFAULT_LEGACY_ERC20_CASM.clone()), None), (felt!("22"), Some(felt!("2000")), Some(DEFAULT_LEGACY_UDC_CASM.clone()), None), (felt!("33"), Some(felt!("3000")), Some((*DOJO_WORLD_COMPILED_CLASS).clone()), Some((*DOJO_WORLD_SIERRA_CLASS).clone())), ]) diff --git a/crates/katana/storage/provider/tests/fixtures.rs b/crates/katana/storage/provider/tests/fixtures.rs index d9df999317..e5a08186cb 100644 --- a/crates/katana/storage/provider/tests/fixtures.rs +++ b/crates/katana/storage/provider/tests/fixtures.rs @@ -8,9 +8,7 @@ use katana_primitives::block::{ }; use katana_primitives::class::{CompiledClass, FlattenedSierraClass, SierraClass}; use katana_primitives::contract::ContractAddress; -use katana_primitives::genesis::constant::{ - DEFAULT_LEGACY_ERC20_CONTRACT_CASM, DEFAULT_LEGACY_UDC_CASM, -}; +use katana_primitives::genesis::constant::{DEFAULT_LEGACY_ERC20_CASM, DEFAULT_LEGACY_UDC_CASM}; use katana_primitives::state::{StateUpdates, StateUpdatesWithDeclaredClasses}; use katana_primitives::utils::class::parse_compiled_class; use katana_provider::providers::db::DbProvider; @@ -113,7 +111,7 @@ pub fn mock_state_updates() -> [StateUpdatesWithDeclaredClasses; 3] { }, declared_compiled_classes: BTreeMap::from([( class_hash_1, - DEFAULT_LEGACY_ERC20_CONTRACT_CASM.clone(), + DEFAULT_LEGACY_ERC20_CASM.clone(), )]), ..Default::default() }; diff --git a/crates/katana/tasks/Cargo.toml b/crates/katana/tasks/Cargo.toml index fda68dc089..cc4a897f39 100644 --- a/crates/katana/tasks/Cargo.toml +++ b/crates/katana/tasks/Cargo.toml @@ -11,5 +11,5 @@ rayon.workspace = true thiserror.workspace = true tokio.workspace = true tokio-metrics = "0.3.1" -tokio-util = { version = "0.7.11", features = [ "rt" ] } +tokio-util = { workspace = true, features = [ "rt" ] } tracing.workspace = true diff --git a/crates/katana/tasks/src/lib.rs b/crates/katana/tasks/src/lib.rs index 459427c783..13368cca9c 100644 --- a/crates/katana/tasks/src/lib.rs +++ b/crates/katana/tasks/src/lib.rs @@ -22,6 +22,7 @@ use tokio::task::JoinHandle; #[error("Failed to initialize task spawner: {0}")] pub struct TaskSpawnerInitError(tokio::runtime::TryCurrentError); +// TODO: replace this with TaskSpawner in manager.rs /// A task spawner for spawning tasks on a tokio runtime. This is simple wrapper around a tokio's /// runtime [Handle] to easily spawn tasks on the runtime. /// diff --git a/crates/katana/tasks/src/manager.rs b/crates/katana/tasks/src/manager.rs index f79a7657e8..4abf7910a8 100644 --- a/crates/katana/tasks/src/manager.rs +++ b/crates/katana/tasks/src/manager.rs @@ -1,9 +1,16 @@ -use std::future::Future; +use core::future::Future; +use core::pin::Pin; +use core::task::{Context, Poll}; +use std::sync::Arc; +use futures::future::BoxFuture; +use futures::FutureExt; use tokio::runtime::Handle; use tokio::task::JoinHandle; use tokio_util::sync::CancellationToken; +pub use tokio_util::sync::WaitForCancellationFuture as WaitForShutdownFuture; use tokio_util::task::TaskTracker; +use tracing::trace; use crate::task::{TaskBuilder, TaskResult}; @@ -12,8 +19,22 @@ pub type TaskHandle = JoinHandle>; /// Usage for this task manager is mainly to spawn tasks that can be cancelled, and captures /// panicked tasks (which in the context of the task manager - a critical task) for graceful /// shutdown. -#[derive(Debug, Clone)] +/// +/// # Spawning tasks +/// +/// To spawn tasks on the manager, call [`TaskManager::task_spawner`] to get a [`TaskSpawner`] +/// instance. The [`TaskSpawner`] can then be used to spawn tasks on the manager. +/// +/// # Tasks cancellation +/// +/// When the manager is dropped, all tasks that have yet to complete will be cancelled. +#[derive(Debug)] pub struct TaskManager { + inner: Arc, +} + +#[derive(Debug)] +struct Inner { /// A handle to the Tokio runtime. handle: Handle, /// Keep track of currently running tasks. @@ -21,66 +42,98 @@ pub struct TaskManager { /// Used to cancel all running tasks. /// /// This is passed to all the tasks spawned by the manager. - pub(crate) on_cancel: CancellationToken, + on_cancel: CancellationToken, } impl TaskManager { /// Create a new [`TaskManager`] from the given Tokio runtime handle. pub fn new(handle: Handle) -> Self { - Self { handle, tracker: TaskTracker::new(), on_cancel: CancellationToken::new() } + Self { + inner: Arc::new(Inner { + handle, + tracker: TaskTracker::new(), + on_cancel: CancellationToken::new(), + }), + } } + /// Create a new [`TaskManager`] from the ambient Tokio runtime. pub fn current() -> Self { Self::new(Handle::current()) } - pub fn spawn(&self, fut: F) -> TaskHandle - where - F: Future + Send + 'static, - F::Output: Send + 'static, - { - self.spawn_inner(fut) + /// Returns a [`TaskSpawner`] that can be used to spawn tasks on the manager. + pub fn task_spawner(&self) -> TaskSpawner { + TaskSpawner { inner: Arc::clone(&self.inner) } } - /// Wait for the shutdown signal to be received. - pub async fn wait_for_shutdown(&self) { - self.on_cancel.cancelled().await; + /// Returns a future that can be awaited for the shutdown signal to be received. + pub fn wait_for_shutdown(&self) -> WaitForShutdownFuture<'_> { + self.inner.on_cancel.cancelled() } /// Shuts down the manager and wait until all currently running tasks are finished, either due /// to completion or cancellation. /// /// No task can be spawned on the manager after this method is called. - pub async fn shutdown(self) { - if !self.on_cancel.is_cancelled() { - self.on_cancel.cancel(); - } + pub fn shutdown(&self) -> ShutdownFuture<'_> { + let fut = Box::pin(async { + if !self.inner.on_cancel.is_cancelled() { + self.inner.on_cancel.cancel(); + } - self.wait_for_shutdown().await; + self.wait_for_shutdown().await; - // need to close the tracker first before waiting - let _ = self.tracker.close(); - self.tracker.wait().await; + // need to close the tracker first before waiting + let _ = self.inner.tracker.close(); + self.inner.tracker.wait().await; + }); + + ShutdownFuture { fut } } /// Return the handle to the Tokio runtime that the manager is associated with. pub fn handle(&self) -> &Handle { - &self.handle - } - - /// Returns a new [`TaskBuilder`] for building a task to be spawned on this manager. - pub fn build_task(&self) -> TaskBuilder<'_> { - TaskBuilder::new(self) + &self.inner.handle } /// Wait until all spawned tasks are completed. #[cfg(test)] async fn wait(&self) { // need to close the tracker first before waiting - let _ = self.tracker.close(); - self.tracker.wait().await; + let _ = self.inner.tracker.close(); + self.inner.tracker.wait().await; // reopen the tracker for spawning future tasks - let _ = self.tracker.reopen(); + let _ = self.inner.tracker.reopen(); + } +} + +/// A spawner for spawning tasks on the [`TaskManager`] that it was derived from. +/// +/// This is the main way to spawn tasks on a [`TaskManager`]. It can only be created +/// by calling [`TaskManager::task_spawner`]. +#[derive(Debug, Clone)] +pub struct TaskSpawner { + /// A handle to the [`TaskManager`] that this spawner is associated with. + inner: Arc, +} + +impl TaskSpawner { + /// Returns a new [`TaskBuilder`] for building a task. + pub fn build_task(&self) -> TaskBuilder<'_> { + TaskBuilder::new(self) + } + + pub(crate) fn spawn(&self, fut: F) -> TaskHandle + where + F: Future + Send + 'static, + F::Output: Send + 'static, + { + self.spawn_inner(fut) + } + + pub(crate) fn cancellation_token(&self) -> &CancellationToken { + &self.inner.on_cancel } fn spawn_inner(&self, task: F) -> TaskHandle @@ -89,15 +142,15 @@ impl TaskManager { F::Output: Send + 'static, { let task = self.make_cancellable(task); - let task = self.tracker.track_future(task); - self.handle.spawn(task) + let task = self.inner.tracker.track_future(task); + self.inner.handle.spawn(task) } fn make_cancellable(&self, fut: F) -> impl Future> where F: Future, { - let ct = self.on_cancel.clone(); + let ct = self.inner.on_cancel.clone(); async move { tokio::select! { _ = ct.cancelled() => { @@ -113,7 +166,28 @@ impl TaskManager { impl Drop for TaskManager { fn drop(&mut self) { - self.on_cancel.cancel(); + trace!(target: "tasks", "Task manager is dropped, cancelling all ongoing tasks."); + self.inner.on_cancel.cancel(); + } +} + +/// A futures that resolves when the [TaskManager] is shutdown. +#[must_use = "futures do nothing unless polled"] +pub struct ShutdownFuture<'a> { + fut: BoxFuture<'a, ()>, +} + +impl<'a> Future for ShutdownFuture<'a> { + type Output = (); + + fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + self.get_mut().fut.poll_unpin(cx) + } +} + +impl<'a> core::fmt::Debug for ShutdownFuture<'a> { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.debug_struct("ShutdownFuture").field("fut", &"...").finish() } } @@ -127,19 +201,20 @@ mod tests { #[tokio::test] async fn normal_tasks() { let manager = TaskManager::current(); + let spawner = manager.task_spawner(); - manager.spawn(time::sleep(Duration::from_secs(1))); - manager.spawn(time::sleep(Duration::from_secs(1))); - manager.spawn(time::sleep(Duration::from_secs(1))); + spawner.build_task().spawn(time::sleep(Duration::from_secs(1))); + spawner.build_task().spawn(time::sleep(Duration::from_secs(1))); + spawner.build_task().spawn(time::sleep(Duration::from_secs(1))); // 3 tasks should be spawned on the manager - assert_eq!(manager.tracker.len(), 3); + assert_eq!(manager.inner.tracker.len(), 3); // wait until all task spawned to the manager have been completed manager.wait().await; assert!( - !manager.on_cancel.is_cancelled(), + !manager.inner.on_cancel.is_cancelled(), "cancellation signal shouldn't be sent on normal task completion" ) } @@ -147,26 +222,27 @@ mod tests { #[tokio::test] async fn task_with_graceful_shutdown() { let manager = TaskManager::current(); + let spawner = manager.task_spawner(); // mock long running normal task and a task with graceful shutdown - manager.build_task().spawn(async { + spawner.build_task().spawn(async { loop { time::sleep(Duration::from_secs(1)).await } }); - manager.build_task().spawn(async { + spawner.build_task().spawn(async { loop { time::sleep(Duration::from_secs(1)).await } }); // assert that 2 tasks should've been spawned - assert_eq!(manager.tracker.len(), 2); + assert_eq!(manager.inner.tracker.len(), 2); // Spawn a task with graceful shuwdown that finish immediately. // The long running task should be cancelled due to the graceful shutdown. - manager.build_task().graceful_shutdown().spawn(future::ready(())); + spawner.build_task().graceful_shutdown().spawn(future::ready(())); // wait until all task spawned to the manager have been completed manager.shutdown().await; @@ -175,14 +251,14 @@ mod tests { #[tokio::test] async fn critical_task_implicit_graceful_shutdown() { let manager = TaskManager::current(); - manager.build_task().critical().spawn(future::ready(())); + manager.task_spawner().build_task().critical().spawn(future::ready(())); manager.shutdown().await; } #[tokio::test] async fn critical_task_graceful_shudown_on_panicked() { let manager = TaskManager::current(); - manager.build_task().critical().spawn(async { panic!("panicking") }); + manager.task_spawner().build_task().critical().spawn(async { panic!("panicking") }); manager.shutdown().await; } } diff --git a/crates/katana/tasks/src/task.rs b/crates/katana/tasks/src/task.rs index 1e5cdb813a..22f8a24301 100644 --- a/crates/katana/tasks/src/task.rs +++ b/crates/katana/tasks/src/task.rs @@ -6,9 +6,10 @@ use futures::future::Either; use futures::{FutureExt, TryFutureExt}; use thiserror::Error; use tokio_metrics::TaskMonitor; -use tracing::error; +use tracing::{debug, error}; -use crate::manager::{TaskHandle, TaskManager}; +use crate::manager::TaskHandle; +use crate::TaskSpawner; /// A task result that can be either completed or cancelled. #[derive(Debug, Copy, Clone)] @@ -32,7 +33,7 @@ impl TaskResult { #[derive(Debug)] pub struct TaskBuilder<'a> { /// The task manager that the task will be spawned on. - manager: &'a TaskManager, + spawner: &'a TaskSpawner, /// The name of the task. name: Option, /// Indicates whether the task should be instrumented. @@ -44,8 +45,8 @@ pub struct TaskBuilder<'a> { impl<'a> TaskBuilder<'a> { /// Creates a new task builder associated with the given task manager. - pub(crate) fn new(manager: &'a TaskManager) -> Self { - Self { manager, name: None, instrument: false, graceful_shutdown: false } + pub(crate) fn new(spawner: &'a TaskSpawner) -> Self { + Self { spawner, name: None, instrument: false, graceful_shutdown: false } } pub fn critical(self) -> CriticalTaskBuilder<'a> { @@ -76,14 +77,15 @@ impl<'a> TaskBuilder<'a> { F: Future + Send + 'static, F::Output: Send + 'static, { - let Self { manager, instrument, graceful_shutdown, .. } = self; + let Self { spawner, instrument, graceful_shutdown, name } = self; // creates a future that will send a cancellation signal to the manager when the future is // completed, regardless of success or error. let fut = { - let ct = manager.on_cancel.clone(); + let ct = spawner.cancellation_token().clone(); fut.map(move |res| { if graceful_shutdown { + debug!(target: "tasks", task = name, "Task with graceful shutdown completed."); ct.cancel(); } res @@ -98,7 +100,7 @@ impl<'a> TaskBuilder<'a> { Either::Right(fut) }; - manager.spawn(fut) + spawner.spawn(fut) } } @@ -125,8 +127,8 @@ impl<'a> CriticalTaskBuilder<'a> { where F: Future + Send + 'static, { - let task_name = self.builder.name.clone().unwrap_or("unnamed".to_string()); - let ct = self.builder.manager.on_cancel.clone(); + let task_name = self.builder.name.clone().unwrap_or("".to_string()); + let ct = self.builder.spawner.cancellation_token().clone(); let fut = AssertUnwindSafe(fut) .catch_unwind() diff --git a/crates/metrics/Cargo.toml b/crates/metrics/Cargo.toml index 3a8818c217..6aaace8d77 100644 --- a/crates/metrics/Cargo.toml +++ b/crates/metrics/Cargo.toml @@ -14,10 +14,10 @@ tracing.workspace = true # Metrics metrics.workspace = true +metrics-derive = "0.1" metrics-exporter-prometheus = "0.15.3" metrics-process = "2.1.0" metrics-util = "0.17.0" -reth-metrics-derive = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.3" } [target.'cfg(not(windows))'.dependencies] jemalloc-ctl = { version = "0.5.0", optional = true } diff --git a/crates/metrics/src/lib.rs b/crates/metrics/src/lib.rs index c9dc3209a1..8c0e84e00f 100644 --- a/crates/metrics/src/lib.rs +++ b/crates/metrics/src/lib.rs @@ -4,10 +4,10 @@ pub mod prometheus_exporter; use jemallocator as _; /// Re-export the metrics crate pub use metrics; +/// Re-export the metrics derive macro +pub use metrics_derive::Metrics; /// Re-export the metrics-process crate pub use metrics_process; -/// Re-export the metrics derive macro -pub use reth_metrics_derive::Metrics; // We use jemalloc for performance reasons #[cfg(all(feature = "jemalloc", unix))] diff --git a/crates/metrics/src/prometheus_exporter.rs b/crates/metrics/src/prometheus_exporter.rs index a84f9a9e55..deaa9a0133 100644 --- a/crates/metrics/src/prometheus_exporter.rs +++ b/crates/metrics/src/prometheus_exporter.rs @@ -9,7 +9,8 @@ use anyhow::{Context, Result}; use hyper::service::{make_service_fn, service_fn}; use hyper::{Body, Request, Response, Server}; use metrics::{describe_gauge, gauge}; -use metrics_exporter_prometheus::{PrometheusBuilder, PrometheusHandle}; +use metrics_exporter_prometheus::PrometheusBuilder; +pub use metrics_exporter_prometheus::PrometheusHandle; use metrics_util::layers::{PrefixLayer, Stack}; use crate::Report; diff --git a/crates/saya/core/Cargo.toml b/crates/saya/core/Cargo.toml index 8d82ea286f..09c71a1eb2 100644 --- a/crates/saya/core/Cargo.toml +++ b/crates/saya/core/Cargo.toml @@ -15,26 +15,25 @@ saya-provider.workspace = true anyhow.workspace = true async-trait.workspace = true bigdecimal.workspace = true -cairo-proof-parser.workspace = true dojo-utils.workspace = true futures.workspace = true itertools.workspace = true -once_cell.workspace = true serde.workspace = true serde_json.workspace = true -starknet.workspace = true starknet-crypto.workspace = true -starknet-types-core = { version = "0.1.4", default-features = false, features = [ "curve", "num-traits", "serde" ] } +starknet.workspace = true thiserror.workspace = true tokio.workspace = true tracing.workspace = true url.workspace = true # TODO: use features for each possible DA. -celestia-rpc = "0.2.0" -celestia-types = "0.2.0" - -cairo-felt = "0.9.1" -num-bigint = "0.4.4" -num-traits = "0.2.18" +celestia-rpc = "0.4.0" +celestia-types = "0.5.0" -prover-sdk = { git = "https://github.com/cartridge-gg/http-prover", rev = "7d00b05" } +cairo-proof-parser = { git = "https://github.com/cartridge-gg/cairo-proof-parser.git", rev = "f175d58" } +cairo1-playground = { git = "https://github.com/chudkowsky/cairo1-playground.git", rev = "3fda965" } +herodotus_sharp_playground = { git = "https://github.com/chudkowsky/herodotus_sharp_playground.git", rev = "db64bfd" } +prover-sdk = { git = "https://github.com/cartridge-gg/http-prover", rev = "24256d5" } +reqwest.workspace = true +serde-felt = { git = "https://github.com/cartridge-gg/cairo-proof-parser.git", rev = "f175d58" } +tempdir = "0.3.7" diff --git a/crates/saya/core/src/data_availability/celestia/mod.rs b/crates/saya/core/src/data_availability/celestia/mod.rs index 9388b96ae3..a074e074b1 100644 --- a/crates/saya/core/src/data_availability/celestia/mod.rs +++ b/crates/saya/core/src/data_availability/celestia/mod.rs @@ -3,20 +3,18 @@ use std::fmt::Display; use async_trait::async_trait; use celestia_rpc::{BlobClient, Client}; -use celestia_types::blob::GasPrice; use celestia_types::nmt::Namespace; -use celestia_types::Blob; +use celestia_types::{Blob, Commitment, TxConfig}; use serde::{Deserialize, Serialize}; use starknet::core::types::Felt; use url::Url; use crate::data_availability::error::{DataAvailabilityResult, Error}; use crate::data_availability::{DataAvailabilityClient, DataAvailabilityMode}; -use crate::url_deserializer; +use crate::prover::persistent::PublishedStateDiff; #[derive(Debug, Clone, Deserialize, Serialize)] pub struct CelestiaConfig { - #[serde(deserialize_with = "url_deserializer")] pub node_url: Url, pub node_auth_token: Option, pub namespace: String, @@ -55,35 +53,57 @@ impl DataAvailabilityClient for CelestiaClient { self.mode } - async fn publish_state_diff_felts(&self, state_diff: &[Felt]) -> DataAvailabilityResult { + async fn publish_state_diff_felts( + &self, + state_diff: &[Felt], + ) -> DataAvailabilityResult<(Commitment, u64)> { let bytes: Vec = state_diff.iter().flat_map(|fe| fe.to_bytes_be().to_vec()).collect(); - + let commitment = Commitment::from_blob(self.namespace, 0, &bytes)?; let blob = Blob::new(self.namespace, bytes)?; // TODO: we may want to use `blob_get` to ensure the state diff has been published // correctly. - self.client - .blob_submit(&[blob], GasPrice::default()) + + let height = self + .client + .blob_submit(&[blob], TxConfig::default()) .await - .map_err(|e| Error::Client(format!("Celestia RPC error: {e}"))) + .map_err(|e| Error::Client(format!("Celestia RPC error: {e}")))?; + Ok((commitment, height)) } async fn publish_state_diff_and_proof_felts( &self, state_diff: &[Felt], state_diff_proof: &[Felt], - ) -> DataAvailabilityResult { + ) -> DataAvailabilityResult<(Commitment, u64)> { let bytes: Vec = state_diff.iter().flat_map(|fe| fe.to_bytes_be().to_vec()).collect(); + let commitment = Commitment::from_blob(self.namespace, 0, &bytes)?; let blob = Blob::new(self.namespace, bytes)?; - let proof_bytes: Vec = state_diff_proof.iter().flat_map(|fe| fe.to_bytes_be().to_vec()).collect(); let proof_blob = Blob::new(self.namespace, proof_bytes)?; - self.client - .blob_submit(&[blob, proof_blob], GasPrice::default()) + let height = self + .client + .blob_submit(&[blob, proof_blob], TxConfig::default()) + .await + .map_err(|e| Error::Client(format!("Celestia RPC error: {e}")))?; + Ok((commitment, height)) + } + + async fn publish_checkpoint( + &self, + published_state_diff: PublishedStateDiff, + ) -> DataAvailabilityResult<(Commitment, u64)> { + let bytes = serde_json::to_vec(&published_state_diff).unwrap(); + let commitment = Commitment::from_blob(self.namespace, 0, &bytes)?; + let height = self + .client + .blob_submit(&[Blob::new(self.namespace, bytes)?], TxConfig::default()) .await - .map_err(|e| Error::Client(format!("Celestia RPC error: {e}"))) + .map_err(|e| Error::Client(format!("Celestia RPC error: {e}")))?; + Ok((commitment, height)) } } diff --git a/crates/saya/core/src/data_availability/mod.rs b/crates/saya/core/src/data_availability/mod.rs index fbf8deba8c..f22609153e 100644 --- a/crates/saya/core/src/data_availability/mod.rs +++ b/crates/saya/core/src/data_availability/mod.rs @@ -6,6 +6,7 @@ use std::fmt::Display; use async_trait::async_trait; +use celestia_types::Commitment; use serde::{Deserialize, Serialize}; use starknet::core::types::Felt; @@ -14,6 +15,8 @@ pub mod celestia; pub mod error; use error::DataAvailabilityResult; +use crate::prover::persistent::PublishedStateDiff; + /// All possible chains configuration for data availability. #[derive(Debug, Clone, Deserialize, Serialize)] pub enum DataAvailabilityConfig { @@ -57,7 +60,10 @@ pub trait DataAvailabilityClient { /// * `state_diff` - An array of felt representing the data to be published on the DA layer. We /// use felt as all fields inside the state diff can be expressed as a felt. Nonce and updates /// count are limited to 64 bits anyway. - async fn publish_state_diff_felts(&self, state_diff: &[Felt]) -> DataAvailabilityResult; + async fn publish_state_diff_felts( + &self, + state_diff: &[Felt], + ) -> DataAvailabilityResult<(Commitment, u64)>; /// Publishes both data and transition proof on the DA layer atomically. /// Returns the block height in which the state diff was included. @@ -72,7 +78,18 @@ pub trait DataAvailabilityClient { &self, state_diff: &[Felt], state_diff_proof: &[Felt], - ) -> DataAvailabilityResult; + ) -> DataAvailabilityResult<(Commitment, u64)>; + + /// Publishes a JSON-formatted proof on the DA layer. + /// Returns the block height in which the proof was included. + /// + /// # Arguments + /// + /// * `state_diff` - A JSON string representing the proof to be published. + async fn publish_checkpoint( + &self, + state_diff: PublishedStateDiff, + ) -> DataAvailabilityResult<(Commitment, u64)>; } /// Initializes a [`DataAvailabilityClient`] from a [`DataAvailabilityConfig`]. diff --git a/crates/saya/core/src/dojo_os/felt.rs b/crates/saya/core/src/dojo_os/felt.rs deleted file mode 100644 index 05199dddd2..0000000000 --- a/crates/saya/core/src/dojo_os/felt.rs +++ /dev/null @@ -1,25 +0,0 @@ -//! Felt conversion. -//! -//! Starknet-rs should normally migrate to starknet types core. -//! To be removed once it's ok as the CairoVM is already using -//! the core types. -use starknet::core::types::FieldElement; -use starknet_types_core::felt::Felt; - -/// Converts a starknet-rs [`FieldElement`] to a starknet types core [`Felt`]. -/// -/// # Arguments -/// -/// * `ff` - Starknet-rs [`FieldElement`]. -pub fn from_ff(ff: &FieldElement) -> Felt { - Felt::from_bytes_be(&ff.to_bytes_be()) -} - -/// Converts a vec of [`FieldElement`] to a vec of starknet types core [`Felt`]. -/// -/// # Arguments -/// -/// * `ffs` - Starknet-rs [`&[FieldElement]`]. -pub fn from_ff_vec(ffs: &[FieldElement]) -> Vec { - ffs.iter().map(from_ff).collect() -} diff --git a/crates/saya/core/src/dojo_os/input.rs b/crates/saya/core/src/dojo_os/input.rs deleted file mode 100644 index 5097f57c4e..0000000000 --- a/crates/saya/core/src/dojo_os/input.rs +++ /dev/null @@ -1,23 +0,0 @@ -//! Starknet OS inputs. -//! -//! Python code: -//! -use katana_primitives::block::SealedBlock; -use snos::io::input::StarknetOsInput; - -use super::{felt, transaction}; - -/// Setups a default [`StarknetOsInput`] with the block info. -/// -/// TODO: currently no commitments are computed, but are required -/// to be in the [`StarknetOsInput`]. -/// TODO: some of the input fields can be init from the state. -pub fn snos_input_from_block(block: &SealedBlock) -> StarknetOsInput { - let transactions = block.body.iter().map(transaction::snos_internal_from_tx).collect(); - - StarknetOsInput { - transactions, - block_hash: felt::from_ff(&block.header.hash), - ..Default::default() - } -} diff --git a/crates/saya/core/src/dojo_os/mod.rs b/crates/saya/core/src/dojo_os/mod.rs index 32f4b62136..025fa607d3 100644 --- a/crates/saya/core/src/dojo_os/mod.rs +++ b/crates/saya/core/src/dojo_os/mod.rs @@ -7,87 +7,59 @@ // pub mod input; // pub mod transaction; -use std::sync::Arc; +pub mod piltover; + use std::time::Duration; -use anyhow::{bail, Context}; use dojo_utils::{TransactionExt, TxnConfig}; use itertools::chain; -use once_cell::sync::OnceCell; -use starknet::accounts::{Account, ConnectedAccount, ExecutionEncoding, SingleOwnerAccount}; -use starknet::core::types::{ - BlockId, BlockTag, Call, Felt, TransactionExecutionStatus, TransactionStatus, -}; +use starknet::accounts::{Account, ConnectedAccount}; +use starknet::core::types::{Call, Felt, TransactionExecutionStatus, TransactionStatus}; use starknet::core::utils::get_selector_from_name; -use starknet::providers::jsonrpc::HttpTransport; -use starknet::providers::{JsonRpcClient, Provider}; -use starknet::signers::{LocalWallet, SigningKey}; -use tokio::sync::Mutex; +use starknet::providers::Provider; use tokio::time::sleep; +use tracing::trace; -use crate::StarknetAccountData; - -type AccountType = SingleOwnerAccount, LocalWallet>; - -pub static STARKNET_ACCOUNT: OnceCell>> = OnceCell::new(); - -pub fn get_starknet_account( - config: StarknetAccountData, -) -> anyhow::Result>> { - Ok(STARKNET_ACCOUNT - .get_or_init(|| { - let provider = JsonRpcClient::new(HttpTransport::new(config.starknet_url)); - let signer = LocalWallet::from(SigningKey::from_secret_scalar(config.signer_key)); - - let mut account = SingleOwnerAccount::new( - provider, - signer, - config.signer_address, - config.chain_id, - ExecutionEncoding::New, - ); - account.set_block_id(BlockId::Tag(BlockTag::Pending)); - - Arc::new(Mutex::new(account)) - }) - .clone()) -} +use crate::error::Error; +use crate::{retry, SayaStarknetAccount, LOG_TARGET}; pub async fn starknet_apply_diffs( world: Felt, new_state: Vec, program_output: Vec, program_hash: Felt, + account: &SayaStarknetAccount, nonce: Felt, - starknet_account: StarknetAccountData, -) -> anyhow::Result { - let calldata = chain![ - vec![Felt::from(new_state.len() as u64 / 2)].into_iter(), +) -> Result { + let calldata: Vec = chain![ + [Felt::from(new_state.len() as u64 / 2)].into_iter(), new_state.clone().into_iter(), program_output.into_iter(), - vec![program_hash], + [program_hash], ] .collect(); - let account = get_starknet_account(starknet_account)?; - let account = account.lock().await; let txn_config = TxnConfig { wait: true, receipt: true, ..Default::default() }; - let tx = account - .execute_v1(vec![Call { - to: world, - selector: get_selector_from_name("upgrade_state").expect("invalid selector"), - calldata, - }]) - .nonce(nonce) - .send_with_cfg(&txn_config) - .await - .context("Failed to send `upgrade state` transaction.")?; + let tx = retry!( + account + .execute_v1(vec![Call { + to: world, + selector: get_selector_from_name("upgrade_state").expect("invalid selector"), + calldata: calldata.clone(), + }]) + .nonce(nonce) + .send_with_cfg(&txn_config) + ) + .map_err(|e| Error::TransactionFailed(e.to_string()))?; let start_fetching = std::time::Instant::now(); let wait_for = Duration::from_secs(60); let execution_status = loop { if start_fetching.elapsed() > wait_for { - bail!("Transaction not mined in {} seconds.", wait_for.as_secs()); + return Err(Error::TimeoutError(format!( + "Transaction not mined in {} seconds.", + wait_for.as_secs() + ))); } let status = match account.provider().get_transaction_status(tx.transaction_hash).await { @@ -105,7 +77,7 @@ pub async fn starknet_apply_diffs( continue; } TransactionStatus::Rejected => { - bail!("Transaction {:#x} rejected.", tx.transaction_hash); + return Err(Error::TransactionRejected(tx.transaction_hash.to_string())); } TransactionStatus::AcceptedOnL2(execution_status) => execution_status, TransactionStatus::AcceptedOnL1(execution_status) => execution_status, @@ -114,10 +86,10 @@ pub async fn starknet_apply_diffs( match execution_status { TransactionExecutionStatus::Succeeded => { - println!("Transaction accepted on L2."); + trace!(target: LOG_TARGET, "Transaction accepted on L2."); } TransactionExecutionStatus::Reverted => { - bail!("Transaction failed with."); + return Err(Error::TransactionFailed(tx.transaction_hash.to_string())); } } diff --git a/crates/saya/core/src/dojo_os/piltover.rs b/crates/saya/core/src/dojo_os/piltover.rs new file mode 100644 index 0000000000..79e13015d0 --- /dev/null +++ b/crates/saya/core/src/dojo_os/piltover.rs @@ -0,0 +1,49 @@ +use std::time::Duration; + +use cairo_proof_parser::to_felts; +use dojo_utils::{TransactionExt, TxnConfig}; +use serde::Serialize; +use starknet::accounts::{Account, ConnectedAccount}; +use starknet::core::types::Call; +use starknet::core::utils::get_selector_from_name; +use starknet_crypto::Felt; +use tokio::time::sleep; +use tracing::trace; + +use crate::error::{Error, ProverError}; +use crate::verifier::utils::wait_for_sent_transaction; +use crate::{retry, SayaStarknetAccount, LOG_TARGET}; + +#[derive(Debug, Serialize)] +pub struct PiltoverCalldata { + pub program_output: Vec, + pub onchain_data_hash: Felt, + pub onchain_data_size: (Felt, Felt), // U256 +} + +pub async fn starknet_apply_piltover( + calldata: PiltoverCalldata, + contract: Felt, + account: &SayaStarknetAccount, +) -> Result<(), Error> { + sleep(Duration::from_secs(2)).await; + let nonce = account.get_nonce().await?; + let txn_config = TxnConfig { wait: true, receipt: true, ..Default::default() }; + let calldata = to_felts(&calldata)?; + trace!(target: LOG_TARGET, "Sending `update_state` piltover transaction to contract {:#x}", contract); + let tx = retry!( + account + .execute_v1(vec![Call { + to: contract, + selector: get_selector_from_name("update_state").expect("invalid selector"), + calldata: calldata.clone() + }]) + .nonce(nonce) + .send_with_cfg(&txn_config) + ) + .map_err(|e| ProverError::SendTransactionError(e.to_string()))?; + trace!(target: LOG_TARGET, "Sent `update_state` piltover transaction {:#x}", tx.transaction_hash); + wait_for_sent_transaction(tx, account).await?; + + Ok(()) +} diff --git a/crates/saya/core/src/dojo_os/transaction.rs b/crates/saya/core/src/dojo_os/transaction.rs deleted file mode 100644 index 20600ce79b..0000000000 --- a/crates/saya/core/src/dojo_os/transaction.rs +++ /dev/null @@ -1,120 +0,0 @@ -//! Transaction conversion into Starknet OS internal transaction type. -//! -//! Transaction internal type python: -//! -//! Transaction types: -//! -use std::fmt; - -use katana_primitives::transaction::{DeclareTx, DeployAccountTx, InvokeTx, Tx, TxWithHash}; -use snos::io::InternalTransaction; -use starknet::core::types::FieldElement; - -use super::felt; - -pub fn snos_internal_from_tx(tx_with_hash: &TxWithHash) -> InternalTransaction { - let mut internal = - InternalTransaction { hash_value: felt::from_ff(&tx_with_hash.hash), ..Default::default() }; - - match &tx_with_hash.transaction { - Tx::Invoke(tx_e) => match tx_e { - InvokeTx::V1(tx) => { - internal.r#type = TransactionType::InvokeFunction.to_string(); - internal.entry_point_type = Some(EntryPointType::External.to_string()); - internal.version = Some(felt::from_ff(&FieldElement::ONE)); - internal.nonce = Some(felt::from_ff(&tx.nonce)); - internal.sender_address = Some(felt::from_ff(&tx.sender_address)); - internal.signature = Some(felt::from_ff_vec(&tx.signature)); - internal.calldata = Some(felt::from_ff_vec(&tx.calldata)); - // Entrypoint selector can be retrieved from Call? - } - // Will be done later as SNOS types should change. - _ => todo!(), - }, - Tx::Declare(tx_e) => match tx_e { - DeclareTx::V1(tx) => { - internal.r#type = TransactionType::Declare.to_string(); - internal.nonce = Some(felt::from_ff(&tx.nonce)); - internal.sender_address = Some(felt::from_ff(&tx.sender_address)); - internal.signature = Some(felt::from_ff_vec(&tx.signature)); - internal.class_hash = Some(felt::from_ff(&tx.class_hash)); - } - DeclareTx::V2(tx) => { - internal.r#type = TransactionType::Declare.to_string(); - internal.nonce = Some(felt::from_ff(&tx.nonce)); - internal.sender_address = Some(felt::from_ff(&tx.sender_address)); - internal.signature = Some(felt::from_ff_vec(&tx.signature)); - internal.class_hash = Some(felt::from_ff(&tx.class_hash)); - } - // Will be done later as SNOS types should change. - _ => todo!(), - }, - Tx::L1Handler(tx) => { - internal.r#type = TransactionType::L1Handler.to_string(); - internal.entry_point_type = Some(EntryPointType::L1Handler.to_string()); - internal.nonce = Some(felt::from_ff(&tx.nonce)); - internal.contract_address = Some(felt::from_ff(&tx.contract_address)); - internal.entry_point_selector = Some(felt::from_ff(&tx.entry_point_selector)); - internal.calldata = Some(felt::from_ff_vec(&tx.calldata)); - } - Tx::DeployAccount(tx_e) => match tx_e { - DeployAccountTx::V1(tx) => { - internal.r#type = TransactionType::DeployAccount.to_string(); - internal.nonce = Some(felt::from_ff(&tx.nonce)); - internal.contract_address = Some(felt::from_ff(&tx.contract_address)); - internal.contract_address_salt = Some(felt::from_ff(&tx.contract_address_salt)); - internal.class_hash = Some(felt::from_ff(&tx.class_hash)); - internal.constructor_calldata = Some(felt::from_ff_vec(&tx.constructor_calldata)); - internal.signature = Some(felt::from_ff_vec(&tx.signature)); - } - // Will be done later as SNOS types should change. - _ => todo!(), - }, - }; - - internal -} - -#[allow(dead_code)] -#[derive(Debug)] -enum TransactionType { - Declare, - Deploy, - DeployAccount, - InitializeBlockInfo, - InvokeFunction, - L1Handler, -} - -impl fmt::Display for TransactionType { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let s = match *self { - TransactionType::Declare => "DECLARE", - TransactionType::Deploy => "DEPLOY", - TransactionType::DeployAccount => "DEPLOY_ACCOUNT", - TransactionType::InitializeBlockInfo => "INITIALIZE_BLOCK_INFO", - TransactionType::InvokeFunction => "INVOKE_FUNCTION", - TransactionType::L1Handler => "L1_HANDLER", - }; - write!(f, "{}", s) - } -} - -#[allow(dead_code)] -#[derive(Debug)] -enum EntryPointType { - External, - L1Handler, - Constructor, -} - -impl fmt::Display for EntryPointType { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let s = match *self { - EntryPointType::External => "EXTERNAL", - EntryPointType::L1Handler => "L1_HANDLER", - EntryPointType::Constructor => "CONSTRUCTOR", - }; - write!(f, "{}", s) - } -} diff --git a/crates/saya/core/src/error.rs b/crates/saya/core/src/error.rs index 54b7785298..dda5ff6e65 100644 --- a/crates/saya/core/src/error.rs +++ b/crates/saya/core/src/error.rs @@ -1,3 +1,5 @@ +use std::env; + #[derive(thiserror::Error, Debug)] pub enum Error { #[error(transparent)] @@ -16,6 +18,44 @@ pub enum Error { // Snos(#[from] snos::error::SnOsError), #[error("Invalid chain_id ")] InvalidChainId, + #[error(transparent)] + ProverError(#[from] ProverError), + #[error("{0}")] + TimeoutError(String), + #[error("{0}")] + TransactionRejected(String), + #[error("{0}")] + TransactionFailed(String), + #[error(transparent)] + SerdeFeltError(#[from] serde_felt::Error), + #[error(transparent)] + IoError(#[from] std::io::Error), + #[error(transparent)] + SerdeJsonError(#[from] serde_json::Error), } pub type SayaResult = Result; + +#[derive(thiserror::Error, Debug)] +pub enum ProverError { + #[error(transparent)] + ProverSdkError(#[from] prover_sdk::errors::SdkErrors), + #[error(transparent)] + SerdeJsonError(#[from] serde_json::Error), + #[error(transparent)] + EnvVarError(#[from] env::VarError), + #[error(transparent)] + IoError(#[from] std::io::Error), + #[error(transparent)] + RequestError(#[from] reqwest::Error), + #[error("Failed to convert calls to felts: {0}")] + SerdeFeltError(String), + #[error(transparent)] + SharpError(#[from] herodotus_sharp_playground::SharpSdkError), + #[error(transparent)] + Cairo1PlaygroundError(#[from] cairo1_playground::error::Error), + #[error("Failed to send transaction: {0}")] + SendTransactionError(String), + #[error("Failed to prove: {0}")] + ProvingFailed(String), +} diff --git a/crates/saya/core/src/lib.rs b/crates/saya/core/src/lib.rs index 3a71b5e213..edfcb8f23a 100644 --- a/crates/saya/core/src/lib.rs +++ b/crates/saya/core/src/lib.rs @@ -2,41 +2,50 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] +use std::collections::HashMap; use std::ops::RangeInclusive; use std::sync::Arc; use anyhow::Context; -use cairo_proof_parser::output::{extract_output, ExtractOutputResult}; -use cairo_proof_parser::parse; -use cairo_proof_parser::program::{extract_program, ExtractProgramResult}; +use cairo_proof_parser::from_felts; +use celestia_types::Commitment; +use dojo_os::piltover::{starknet_apply_piltover, PiltoverCalldata}; use futures::future; +use itertools::Itertools; use katana_primitives::block::{BlockNumber, FinalityStatus, SealedBlock, SealedBlockWithStatus}; use katana_primitives::state::StateUpdatesWithDeclaredClasses; use katana_primitives::transaction::Tx; use katana_rpc_types::trace::TxExecutionInfo; -use prover::{HttpProverParams, ProverIdentifier}; -pub use prover_sdk::ProverAccessKey; +use prover::persistent::{PublishedStateDiff, StarknetOsOutput}; +use prover::{extract_execute_calls, HttpProverParams, ProveProgram, ProverIdentifier}; +pub use prover_sdk::access_key::ProverAccessKey; +use prover_sdk::ProverResult; use saya_provider::rpc::JsonRpcProvider; use saya_provider::Provider as SayaProvider; use serde::{Deserialize, Serialize}; +use starknet::accounts::{ExecutionEncoding, SingleOwnerAccount}; +use starknet::core::types::{BlockId, BlockTag, Call}; use starknet::core::utils::cairo_short_string_to_felt; -use starknet_crypto::poseidon_hash_many; -use starknet_types_core::felt::Felt; +use starknet::providers::jsonrpc::HttpTransport; +use starknet::providers::JsonRpcClient; +use starknet::signers::{LocalWallet, SigningKey}; +use starknet_crypto::{poseidon_hash_many, Felt}; use tokio::fs::File; use tokio::io::AsyncWriteExt; use tracing::{error, info, trace}; use url::Url; +use verifier::VerifierIdentifier; use crate::blockchain::Blockchain; use crate::data_availability::{DataAvailabilityClient, DataAvailabilityConfig}; use crate::error::SayaResult; -use crate::prover::{extract_messages, ProgramInput, Scheduler}; -use crate::verifier::VerifierIdentifier; +use crate::prover::{extract_messages, ProgramInput}; pub mod blockchain; pub mod data_availability; pub mod dojo_os; pub mod error; +pub mod macros; pub mod prover; pub mod verifier; @@ -45,13 +54,13 @@ pub(crate) const LOG_TARGET: &str = "saya::core"; /// Saya's main configuration. #[derive(Debug, Deserialize, Serialize)] pub struct SayaConfig { - #[serde(deserialize_with = "url_deserializer")] pub katana_rpc: Url, - #[serde(deserialize_with = "url_deserializer")] pub prover_url: Url, pub prover_key: ProverAccessKey, + pub mode: SayaMode, + pub settlement_contract: Felt, pub store_proofs: bool, - pub start_block: u64, + pub block_range: (u64, Option), pub batch_size: usize, pub data_availability: Option, pub world_address: Felt, @@ -60,23 +69,7 @@ pub struct SayaConfig { pub starknet_account: StarknetAccountData, } -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] -pub struct StarknetAccountData { - #[serde(deserialize_with = "url_deserializer")] - pub starknet_url: Url, - #[serde(deserialize_with = "felt_string_deserializer")] - pub chain_id: Felt, - pub signer_address: Felt, - pub signer_key: Felt, -} - -pub fn url_deserializer<'de, D>(deserializer: D) -> Result -where - D: serde::Deserializer<'de>, -{ - let s = String::deserialize(deserializer)?; - Url::parse(&s).map_err(serde::de::Error::custom) -} +type SayaStarknetAccount = SingleOwnerAccount, LocalWallet>; pub fn felt_string_deserializer<'de, D>(deserializer: D) -> Result where @@ -97,6 +90,10 @@ pub struct Saya { provider: Arc, /// The blockchain state. blockchain: Blockchain, + /// The proving backend identifier. + prover_identifier: ProverIdentifier, + prev_commitment: Option, + prev_height: Option, } struct FetchedBlockInfo { @@ -126,7 +123,20 @@ impl Saya { let blockchain = Blockchain::new(); - Ok(Self { config, da_client, provider, blockchain }) + let prover_identifier = ProverIdentifier::Http(Arc::new(HttpProverParams { + prover_url: config.prover_url.clone(), + prover_key: config.prover_key.clone(), + })); + + Ok(Self { + config, + da_client, + provider, + blockchain, + prover_identifier, + prev_commitment: None, + prev_height: None, + }) } /// Starts the Saya mainloop to fetch and process data. @@ -137,22 +147,12 @@ impl Saya { /// Should be refacto in crates as necessary. pub async fn start(&mut self) -> SayaResult<()> { let poll_interval_secs = 1; - let mut block = self.config.start_block.max(1); // Genesis block is not proven. We advance to block 1 + + let mut block = self.config.block_range.0.max(1); // Genesis block is not proven. We advance to block 1 let block_before_the_first = self.provider.fetch_block(block - 1).await; let mut previous_block_state_root = block_before_the_first?.header.header.state_root; - - let prover_identifier = ProverIdentifier::Http(Arc::new(HttpProverParams { - prover_url: self.config.prover_url.clone(), - prover_key: self.config.prover_key.clone(), - })); - - // The structure responsible for proving. - let mut prove_scheduler = Scheduler::new( - self.config.batch_size, - self.config.world_address, - prover_identifier.clone(), - ); + let mut mock_state_hash = Felt::from(0u64); loop { let latest_block = match self.provider.block_number().await { @@ -164,35 +164,119 @@ impl Saya { } }; - if block > latest_block { - trace!(target: LOG_TARGET, block_number = block, "Waiting for block."); + let (minimum_expected, maximum_expected) = match self.config.mode { + SayaMode::Ephemeral => { + let last = self.config.block_range.1.unwrap_or(block); + (last, last) // Only one proof is generated, no need to fetch earlier. + } + // One proof per batch, waiting until all are available. + SayaMode::Persistent => { + (block, latest_block.min(block + self.config.batch_size as u64 - 1)) + } + }; + + if minimum_expected > latest_block { + trace!(target: LOG_TARGET, block_number = latest_block + 1, "Waiting for block."); tokio::time::sleep(tokio::time::Duration::from_secs(poll_interval_secs)).await; continue; } let (last_state_root, params) = - self.prefetch_blocks(block..=latest_block, previous_block_state_root).await?; + self.prefetch_blocks(block..=maximum_expected, previous_block_state_root).await?; + + let state_root_change = (previous_block_state_root, last_state_root); + previous_block_state_root = last_state_root; // Updating the local state sequentially, as there is only one instance of // `self.blockchain` This part does no actual proving, so should not be a // problem - for p in params { - self.process_block(&mut prove_scheduler, block, p)?; - - if prove_scheduler.is_full() { - self.process_proven(prove_scheduler).await?; - prove_scheduler = Scheduler::new( - self.config.batch_size, - self.config.world_address, - prover_identifier.clone(), - ); + match self.config.mode { + SayaMode::Persistent => { + let num_blocks = params.len() as u64; + mock_state_hash += Felt::ONE; + + info!(target: LOG_TARGET, "Proving {} blocks.", num_blocks); + + // We might want to prove the signatures as well. + // let proof = self.prover_identifier.prove_snos(input).await?; + + let input = StarknetOsOutput { + initial_root: mock_state_hash, + final_root: mock_state_hash + Felt::ONE, + prev_block_number: Felt::from(block), + new_block_number: Felt::from(block) + Felt::ONE, + prev_block_hash: Felt::from(1u64), + new_block_hash: Felt::from(2u64), + os_program_hash: Felt::from(42u64), + starknet_os_config_hash: Felt::from(4u64), + use_kzg_da: Felt::from(5u64), + full_output: Felt::from(6u64), + messages_to_l1: vec![], + messages_to_l2: vec![], + contracts: vec![], + classes: HashMap::new().into_iter().collect(), + }; + + let proof = self.prover_identifier.prove_echo(input).await?; + trace!(target: LOG_TARGET, "Proof size: {:?}", proof.serialized_proof.len()); + + if self.config.store_proofs { + let filename = format!("proof_{}.json", block + num_blocks - 1); + + let mut file = File::create(filename).await?; + file.write_all(serde_json::to_string(&proof)?.as_bytes()).await?; + let mut file = File::create("demo.json").await?; + file.write_all(serde_json::to_string_pretty(&proof.proof)?.as_bytes()) + .await?; + } + self.process_proven(proof, vec![], block + num_blocks, state_root_change) + .await?; + + block += num_blocks; + info!(target: LOG_TARGET, "Successfully processed {} blocks.", num_blocks); } - block += 1; + SayaMode::Ephemeral => { + let num_blocks = params.len() as u64; + let calls = params + .into_iter() + .enumerate() + .map(|(i, p)| self.process_block(block + i as u64, p)) + .collect::, _>>()? + .into_iter() + .flatten() + .flat_map(|(_, c)| c) + .collect::>(); + + // We might want to prove the signatures as well. + let proof = self.prover_identifier.prove_checker(calls).await?; + + trace!(target: LOG_TARGET, "Proof size: {:?}", proof.serialized_proof.len()); + if self.config.store_proofs { + let filename = format!("proof_{}.json", block + num_blocks - 1); + let mut file = + File::create(filename).await.context("Failed to create proof file.")?; + file.write_all(proof.proof.as_bytes()) + .await + .context("Failed to write proof.")?; + } + + let block_range = + (self.config.block_range.0, self.config.block_range.1.unwrap()); + + let diff = proof.clone().program_output; + self.process_proven(proof.clone(), diff, block_range.1, state_root_change) + .await?; + + info!(target: LOG_TARGET, "Successfully processed all {} blocks.", block_range.1 - block_range.0 + 1); + break; + } } } + + Ok(()) } async fn prefetch_blocks( @@ -276,10 +360,9 @@ impl Saya { /// the genesis block. fn process_block( &mut self, - prove_scheduler: &mut Scheduler, block_number: BlockNumber, block_info: FetchedBlockInfo, - ) -> SayaResult<()> { + ) -> SayaResult)>> { trace!(target: LOG_TARGET, block_number = %block_number, "Processing block."); let FetchedBlockInfo { block, prev_state_root, state_updates, exec_infos, block_number } = @@ -292,15 +375,15 @@ impl Saya { self.blockchain.update_state_with_block(block.clone(), state_updates)?; if block_number == 0 { - return Ok(()); + return Ok(None); } if exec_infos.is_empty() { trace!(target: LOG_TARGET, block_number, "Skipping empty block."); - return Ok(()); + return Ok(None); } - let transactions = block + let l1_transactions = block .block .body .iter() @@ -312,7 +395,7 @@ impl Saya { .collect::>(); let (message_to_starknet_segment, message_to_appchain_segment) = - extract_messages(&exec_infos, &transactions); + extract_messages(&exec_infos, &l1_transactions); let mut state_diff_prover_input = ProgramInput { prev_state_root, @@ -326,11 +409,11 @@ impl Saya { }; state_diff_prover_input.fill_da(self.config.world_address); - prove_scheduler.push_diff(state_diff_prover_input)?; - info!(target: LOG_TARGET, block_number, "Block processed."); - Ok(()) + let calls = extract_execute_calls(&exec_infos); + + Ok(Some((state_diff_prover_input, calls))) } /// Registers the facts + the send the proof to verifier. Not all provers require this step @@ -340,63 +423,103 @@ impl Saya { /// /// * `prove_scheduler` - A full parallel prove scheduler. /// * `last_block` - The last block number in the `prove_scheduler`. - async fn process_proven(&self, prove_scheduler: Scheduler) -> SayaResult<()> { - // Prove each of the leaf nodes of the recursion tree and merge them into one - let (proof, state_diff, (_, last_block)) = - prove_scheduler.proved().await.context("Failed to prove.")?; - + async fn process_proven( + &mut self, + proof: ProverResult, + state_diff: Vec, + last_block: u64, + state_roots: (Felt, Felt), + ) -> SayaResult<()> { trace!(target: LOG_TARGET, last_block, "Processing proven blocks."); - - if self.config.store_proofs { - let filename = format!("proof_{}.json", last_block); - let mut file = File::create(filename).await.context("Failed to create proof file.")?; - file.write_all(proof.as_bytes()).await.context("Failed to write proof.")?; - } - - let serialized_proof: Vec = parse(&proof)?.into(); - let world_da = state_diff.world_da.unwrap(); - - // Publish state difference if DA client is available + let serialized_proof = proof.serialized_proof; + // Publish state difference if DA client is available. if let Some(da) = &self.da_client { trace!(target: LOG_TARGET, last_block, "Publishing DA."); - if self.config.skip_publishing_proof { - da.publish_state_diff_felts(&world_da).await?; + let checkpoint = PublishedStateDiff { + prev_state_root: state_roots.0, + state_root: state_roots.1, + prev_height: self.prev_height, + prev_commitment: self.prev_commitment, + proof: serde_json::to_value(&proof.proof).unwrap(), + }; + // let ns = Namespace::new_v0(b"saya-dev").unwrap(); + // let commitment = Commitment::from_blob(ns, 0, &serialized_proof.iter().map(|felt| + // felt.to_bytes()).collect::>()); + let (commitment, height) = if self.config.mode != SayaMode::Ephemeral { + da.publish_checkpoint(checkpoint).await? + } else if self.config.skip_publishing_proof { + da.publish_state_diff_felts(&state_diff).await? } else { - da.publish_state_diff_and_proof_felts(&world_da, &serialized_proof).await?; - } + da.publish_state_diff_and_proof_felts(&state_diff, &serialized_proof).await? + }; + self.prev_commitment = Some(commitment); + self.prev_height = Some(height); + + info!(target: LOG_TARGET,"commitment: {:?}, height: {:?}", commitment.0, height); } + let program_hash = proof.program_hash; + let program_output_hash = proof.program_output_hash; + let program_output = proof.program_output; + + let program_hash_string = program_hash; + let program_output_hash_string = program_output_hash; + + info!(target: LOG_TARGET,"Extracted program hash and output hash. {:?} {:?}", program_hash_string, program_output_hash_string); + let expected_fact = poseidon_hash_many(&[program_hash, program_output_hash]).to_string(); + let program = program_hash.to_string(); + info!(target: LOG_TARGET, expected_fact, program, "Expected fact."); + + let starknet_account = self.config.starknet_account.get_starknet_account()?; + + // Verify the proof and register fact. trace!(target: LOG_TARGET, last_block, "Verifying block."); - let (transaction_hash, nonce_after) = verifier::verify( + let (transaction_hash, _nonce) = verifier::verify( VerifierIdentifier::HerodotusStarknetSepolia(self.config.fact_registry_address), serialized_proof, - self.config.starknet_account.clone(), + &starknet_account, + self.config.mode.to_program().cairo_version(), ) .await?; info!(target: LOG_TARGET, last_block, transaction_hash, "Block verified."); - let ExtractProgramResult { program: _, program_hash } = extract_program(&proof)?; - let ExtractOutputResult { program_output, program_output_hash } = extract_output(&proof)?; - let expected_fact = poseidon_hash_many(&[program_hash, program_output_hash]).to_string(); - info!(target: LOG_TARGET, expected_fact, "Expected fact."); - - // When not waiting for couple of second `apply_diffs` will sometimes fail due to reliance - // on registered fact - tokio::time::sleep(std::time::Duration::from_secs(2)).await; - - trace!(target: LOG_TARGET, last_block, "Applying diffs."); - let transaction_hash = dojo_os::starknet_apply_diffs( - self.config.world_address, - world_da, - program_output, - program_hash, - nonce_after + Felt::ONE, - self.config.starknet_account.clone(), - ) - .await?; - info!(target: LOG_TARGET, last_block, transaction_hash, "Diffs applied."); - + // Apply the diffs to the world state. + match self.config.mode { + SayaMode::Ephemeral => { + // Needs checker program to be verified, and set as the upgrade_state authority + todo!("Ephemeral mode does not support publishing updated state yet."); + } + SayaMode::Persistent => { + let serialized_output = program_output.iter().copied().collect_vec(); + println!("serialized_output: {:?}", serialized_output); + + // todo!("Persistent mode does not support publishing updated state with SNOS + // yet."); + + let deduplicated_output = + serialized_output[1..serialized_output.len() / 2].to_vec(); + let batcher_output = from_felts::(&deduplicated_output).unwrap(); + let piltover_calldata = PiltoverCalldata { + program_output: serialized_output, + // onchain_data_hash: batcher_output.new_state_root, + onchain_data_hash: batcher_output.new_block_hash, + onchain_data_size: (Felt::ZERO, Felt::ZERO), + }; + + let expected_state_root = batcher_output.new_block_hash.to_string(); + let expected_block_number = + (batcher_output.new_block_number - Felt::ONE).to_string(); + info!(target: LOG_TARGET, last_block, expected_state_root, expected_block_number, "Applying snos to piltover."); + + starknet_apply_piltover( + piltover_calldata, + self.config.settlement_contract, + &starknet_account, + ) + .await?; + } + } Ok(()) } } @@ -406,3 +529,45 @@ impl From for error::Error { Self::KatanaClient(format!("Katana client RPC provider error: {e}")) } } + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +pub enum SayaMode { + Ephemeral, + Persistent, +} + +impl SayaMode { + fn to_program(self) -> ProveProgram { + match self { + SayaMode::Ephemeral => ProveProgram::Checker, + SayaMode::Persistent => ProveProgram::Batcher, + } + } +} + +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +pub struct StarknetAccountData { + pub starknet_url: Url, + #[serde(deserialize_with = "felt_string_deserializer")] + pub chain_id: Felt, + pub signer_address: Felt, + pub signer_key: Felt, +} + +impl StarknetAccountData { + pub fn get_starknet_account(&self) -> anyhow::Result { + let provider = JsonRpcClient::new(HttpTransport::new(self.starknet_url.clone())); + let signer = LocalWallet::from(SigningKey::from_secret_scalar(self.signer_key)); + + let mut account = SingleOwnerAccount::new( + provider, + signer, + self.signer_address, + self.chain_id, + ExecutionEncoding::New, + ); + + account.set_block_id(BlockId::Tag(BlockTag::Pending)); + Ok(account) + } +} diff --git a/crates/saya/core/src/macros.rs b/crates/saya/core/src/macros.rs new file mode 100644 index 0000000000..e18df25fdd --- /dev/null +++ b/crates/saya/core/src/macros.rs @@ -0,0 +1,34 @@ +#[macro_export] +macro_rules! retry { + // The macro takes an async block as an input + ($func:expr) => {{ + // Set the maximum number of retries + const MAX_RETRIES: usize = 20; + + // Set the delay between retries in milliseconds (adjust as needed) + const RETRY_DELAY_MS: u64 = 1000; + + let mut retry_count = 0; + + loop { + match $func.await { + Ok(result) => break Ok(result), // If the function succeeds, break the loop and + // return the result + Err(err) => { + tracing::warn!("Error: {}", err); + + // Check if the maximum number of retries has been reached + if retry_count >= MAX_RETRIES { + break Err(err); + } + + // Increment the retry count + retry_count += 1; + tracing::info!("Retrying... ({}/{})", retry_count, MAX_RETRIES); + // Wait before retrying + tokio::time::sleep(tokio::time::Duration::from_millis(RETRY_DELAY_MS)).await; + } + } + } + }}; +} diff --git a/crates/saya/core/src/prover/client.rs b/crates/saya/core/src/prover/client.rs index 43f23b3a50..9a4c580079 100644 --- a/crates/saya/core/src/prover/client.rs +++ b/crates/saya/core/src/prover/client.rs @@ -1,36 +1,88 @@ use std::sync::Arc; -use anyhow::Context; -use prover_sdk::{ProverSDK, ProverSdkErrors}; -use tokio::sync::OnceCell; +use cairo1_playground::get_cairo_pie; +use herodotus_sharp_playground::SharpSdk; +use prover_sdk::access_key::ProverAccessKey; +use prover_sdk::errors::SdkErrors; +use prover_sdk::sdk::ProverSDK; +use prover_sdk::{JobResponse, ProverResult}; +use starknet::core::types::Felt; use tracing::trace; use url::Url; +use super::loader::{load_program, prepare_input_cairo}; use super::ProveProgram; -use crate::prover::loader::prepare_input_cairo0; -use crate::LOG_TARGET; +use crate::error::ProverError; #[derive(Debug, Clone, PartialEq, Eq)] pub struct HttpProverParams { pub prover_url: Url, - pub prover_key: prover_sdk::ProverAccessKey, + pub prover_key: ProverAccessKey, } -static ONCE: OnceCell> = OnceCell::const_new(); - pub async fn http_prove( prover_params: Arc, - input: String, + input: Vec, + prove_program: ProveProgram, +) -> Result { + let prover = + ProverSDK::new(prover_params.prover_url.clone(), prover_params.prover_key.clone()).await?; + let input = prepare_input_cairo(input, prove_program).await?; + let job_id = prover.prove_cairo(input).await?; + prover.sse(job_id).await?; + let response = prover.get_job(job_id).await?; + let response = response.text().await?; + let json_response: JobResponse = serde_json::from_str(&response)?; + if let JobResponse::Completed { result, .. } = json_response { + Ok(result) + } else if let JobResponse::Failed { error, .. } = json_response { + Err(SdkErrors::GetJobResponseError(error).into()) + } else { + Err(SdkErrors::GetJobResponseError("Prover failed".to_string()).into()) + } +} +pub async fn sharp_prove( + calls: Vec, + api_key: String, prove_program: ProveProgram, -) -> anyhow::Result { - let prover = ONCE - .get_or_init(|| async { - trace!(target: LOG_TARGET, "Proving with cairo0."); - ProverSDK::new(prover_params.prover_key.clone(), prover_params.prover_url.clone()).await - }) - .await; - let prover = prover.as_ref().map_err(|e| anyhow::anyhow!(e.to_string()))?; +) -> Result { + let temp_dir = tempdir::TempDir::new("pie_file_path")?; + let pie_file_path = temp_dir.path().join("pie_file_path.zip"); + let program = load_program(prove_program).await?; + let program = serde_json::from_value(program)?; + let output = get_cairo_pie( + program, + pie_file_path.clone(), + cairo1_playground::LayoutName::recursive, + calls, + )?; + trace!("output: {:?}", output); + let sdk = SharpSdk { api_key }; + let response = sdk + .proof_generation( + "recursive".to_string(), + true, + pie_file_path.to_str().unwrap().to_string(), + ) + .await?; + + let proof_path = loop { + let status = sdk.get_sharp_query_jobs(response.sharp_query_id.clone()).await?; + + if let Some(context) = &status.jobs[0].context { + if let Some(proof_path) = &context.proof_path { + break proof_path.clone(); + } + } + tokio::time::sleep(tokio::time::Duration::from_secs(20)).await; + }; - let input = prepare_input_cairo0(input, prove_program).await?; - prover.prove_cairo0(input).await.context("Failed to prove using the http prover") + let proof = sdk.get_proof(proof_path).await?; + Ok(ProverResult { + proof: proof.proof, + serialized_proof: proof.serialized_proof, + program_hash: proof.program_hash, + program_output: proof.program_output, + program_output_hash: proof.program_output_hash, + }) } diff --git a/crates/saya/core/src/prover/extract.rs b/crates/saya/core/src/prover/extract.rs deleted file mode 100644 index 61783f3bae..0000000000 --- a/crates/saya/core/src/prover/extract.rs +++ /dev/null @@ -1,95 +0,0 @@ -use anyhow::anyhow; -use bigdecimal::BigDecimal; -use katana_primitives::contract::ContractAddress; -use katana_primitives::state::StateUpdates; -use katana_primitives::Felt; -use num_traits::ToPrimitive; - -use super::{MessageToAppchain, MessageToStarknet, ProgramInput}; - -pub fn program_input_from_program_output( - output: Vec, - state_updates: StateUpdates, - world: Felt, -) -> anyhow::Result { - let prev_state_root = output[0]; - let block_number = serde_json::from_str(&output[2].to_string()).unwrap(); - let block_hash = output[3]; - let config_hash = output[4]; - let mut decimal: BigDecimal = output[6].clone().to_bigint().into(); // Convert with no decimal places - let num = decimal.to_u64().ok_or_else(|| anyhow!("Conversion to u64 failed"))?; - - let message_to_starknet_segment = match num { - 0..=3 => Default::default(), - 4..=u64::MAX => get_message_to_starknet_segment(&output[7..7 + num as usize])?, - }; - - let index = 7 + num as usize; - decimal = output[index].clone().to_bigint().into(); - let num = decimal.to_u64().ok_or_else(|| anyhow!("Conversion to u64 failed"))?; - let message_to_appchain_segment = match num { - 0..=4 => Default::default(), - 5..=u64::MAX => { - get_message_to_appchain_segment(&output[index + 1..index + 1 + num as usize])? - } - }; - - let mut input = ProgramInput { - prev_state_root, - block_number, - block_hash, - config_hash, - message_to_starknet_segment, - message_to_appchain_segment, - state_updates, - world_da: None, - }; - - input.fill_da(world); - Ok(input) -} - -fn get_message_to_starknet_segment(output: &[Felt]) -> anyhow::Result> { - let mut message_to_starknet_segment: Vec = vec![]; - let mut index = 0; - loop { - if index >= output.len() { - break; - } - let from_address = ContractAddress::from(output[index]); - let to_address = ContractAddress::from(output[index + 1]); - let decimal: BigDecimal = output[index + 2].to_bigint().into(); - let num = decimal.to_u64().ok_or_else(|| anyhow!("Conversion to u64 failed"))?; - let payload = output[index + 3..index + 3 + num as usize].to_vec(); - message_to_starknet_segment.push(MessageToStarknet { from_address, to_address, payload }); - index += 3 + num as usize; - } - Ok(message_to_starknet_segment) -} - -fn get_message_to_appchain_segment(output: &[Felt]) -> anyhow::Result> { - let mut message_to_appchain_segment: Vec = vec![]; - let mut index = 0; - loop { - if index >= output.len() { - break; - } - let from_address = ContractAddress::from(output[index]); - let to_address = ContractAddress::from(output[index + 1]); - let nonce = output[index + 2]; - let selector = output[index + 3]; - let decimal: BigDecimal = output[index + 4].to_bigint().into(); - let num = decimal.to_u64().ok_or_else(|| anyhow!("Conversion to u64 failed"))?; - let payload = output[index + 5..index + 5 + num as usize].to_vec(); - - message_to_appchain_segment.push(MessageToAppchain { - from_address, - to_address, - nonce, - selector, - payload, - }); - index += 5 + num as usize; - } - Ok(message_to_appchain_segment) -} diff --git a/crates/saya/core/src/prover/loader.rs b/crates/saya/core/src/prover/loader.rs index 9ae585aef7..3efeff31a2 100644 --- a/crates/saya/core/src/prover/loader.rs +++ b/crates/saya/core/src/prover/loader.rs @@ -1,19 +1,23 @@ use std::env; use std::path::PathBuf; -use prover_sdk::Cairo0ProverInput; +use prover_sdk::CairoProverInput; use serde_json::Value; +use starknet_crypto::Felt; use tokio::fs::File; use tokio::io::AsyncReadExt; use super::ProveProgram; +use crate::error::ProverError; -pub async fn load_program(prove_program: ProveProgram) -> anyhow::Result { +pub async fn load_program(prove_program: ProveProgram) -> Result { let manifest_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR")?); let program_file = match prove_program { - ProveProgram::Differ => manifest_dir.join("programs/cairo0differ.json"), - ProveProgram::Merger => manifest_dir.join("programs/cairo0merger.json"), + ProveProgram::Checker => manifest_dir.join("programs/cairo1checker.json"), + ProveProgram::Batcher => manifest_dir.join("programs/cairo1batcher.json"), + ProveProgram::Echo => manifest_dir.join("programs/cairo1echo.json"), }; + let mut program_file = File::open(program_file).await?; let mut data = String::new(); @@ -23,14 +27,22 @@ pub async fn load_program(prove_program: ProveProgram) -> anyhow::Result Ok(json_value) } -pub async fn prepare_input_cairo0( - arguments: String, +pub async fn prepare_input_cairo( + program_input: Vec, prove_program: ProveProgram, -) -> anyhow::Result { - let program = load_program(prove_program).await?; +) -> Result { + let mut program = load_program(prove_program).await?; + if let Value::Object(ref mut obj) = program { + obj.insert("version".to_string(), Value::Number(serde_json::Number::from(1))); + } let program = serde_json::from_str(&serde_json::to_string(&program)?)?; - let program_input: Value = serde_json::from_str(&arguments)?; - Ok(Cairo0ProverInput { program, program_input, layout: "recursive".into() }) + Ok(CairoProverInput { + program, + program_input, + layout: "recursive".into(), + n_queries: Some(16), + pow_bits: Some(20), + }) } diff --git a/crates/saya/core/src/prover/mod.rs b/crates/saya/core/src/prover/mod.rs index a4b5ffe570..4ad720ea3d 100644 --- a/crates/saya/core/src/prover/mod.rs +++ b/crates/saya/core/src/prover/mod.rs @@ -1,54 +1,99 @@ //! Prover backends. //! //! The prover is in charge of generating a proof from the cairo execution trace. -use std::str::FromStr; use std::sync::Arc; -use anyhow::bail; use async_trait::async_trait; mod client; -pub mod extract; mod loader; +pub mod persistent; mod program_input; -mod scheduler; -pub mod state_diff; -mod stone_image; -mod vec252; - +use cairo_proof_parser::to_felts; pub use client::HttpProverParams; +use client::{http_prove, sharp_prove}; +use persistent::{BatcherInput, StarknetOsOutput}; pub use program_input::*; -pub use scheduler::*; -pub use stone_image::*; +use prover_sdk::ProverResult; +use starknet::core::types::Call; +use starknet_crypto::Felt; -use self::client::http_prove; +use crate::error::ProverError; +// pub use stone_image::*; /// The prover used to generate the proof. -#[derive(Debug, Clone, PartialEq, Eq, Default)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum ProverIdentifier { - #[default] - Stone, - Sharp, - Platinum, + HerodotusSharp(String), Http(Arc), } #[derive(Debug)] pub enum ProveProgram { - Differ, - Merger, + Checker, // Contract specific checker program. + Batcher, // Simulating snos, contract from dojo-os repository. + Echo, // A mock program repeating the input value. +} + +impl ProverIdentifier { + pub async fn prove_checker(&self, calls: Vec) -> Result { + let len = Felt::from(calls.len() as u64); + let mut args = calls + .into_iter() + .flat_map(|c| { + let mut felts = vec![c.to, c.selector, c.calldata.len().into()]; + felts.extend(c.calldata); + felts + }) + .collect::>(); + args.insert(0, len); + + match self { + ProverIdentifier::Http(params) => { + http_prove(params.clone(), args, ProveProgram::Checker).await + } + ProverIdentifier::HerodotusSharp(key) => { + sharp_prove(args, key.to_string(), ProveProgram::Checker).await + } + } + } + + pub async fn prove_snos(&self, calls: BatcherInput) -> Result { + let calldata = to_felts(&calls).map_err(|e| ProverError::SerdeFeltError(e.to_string()))?; + + match self { + ProverIdentifier::Http(params) => { + http_prove(params.clone(), calldata, ProveProgram::Batcher).await + } + ProverIdentifier::HerodotusSharp(key) => { + sharp_prove(calldata, key.to_string(), ProveProgram::Batcher).await + } + } + } + + pub async fn prove_echo(&self, calls: StarknetOsOutput) -> Result { + let calldata = to_felts(&calls).map_err(|e| ProverError::SerdeFeltError(e.to_string()))?; + + dbg!(&calldata); + + match self { + ProverIdentifier::Http(params) => { + http_prove(params.clone(), calldata, ProveProgram::Echo).await + } + ProverIdentifier::HerodotusSharp(key) => { + sharp_prove(calldata, key.to_string(), ProveProgram::Echo).await + } + } + } } -pub async fn prove_diff( - input: String, - prover: ProverIdentifier, - program: ProveProgram, -) -> anyhow::Result { - match prover { - ProverIdentifier::Http(params) => http_prove(params, input, program).await, - ProverIdentifier::Stone => prove_stone(input, program).await, - ProverIdentifier::Sharp => todo!(), - ProverIdentifier::Platinum => todo!(), +impl ProveProgram { + pub fn cairo_version(&self) -> Felt { + match self { + ProveProgram::Echo => Felt::ONE, + ProveProgram::Checker => Felt::ONE, + ProveProgram::Batcher => Felt::ONE, + } } } @@ -61,16 +106,3 @@ pub trait ProverClient { /// The proven input has to be valid for the proving program. async fn prove(&self, input: String) -> anyhow::Result; } - -impl FromStr for ProverIdentifier { - type Err = anyhow::Error; - - fn from_str(prover: &str) -> anyhow::Result { - Ok(match prover { - "stone" => ProverIdentifier::Stone, - "sharp" => ProverIdentifier::Sharp, - "platinum" => ProverIdentifier::Platinum, - _ => bail!("Unknown prover: `{}`.", prover), - }) - } -} diff --git a/crates/saya/core/src/prover/persistent.rs b/crates/saya/core/src/prover/persistent.rs new file mode 100644 index 0000000000..da5e230d53 --- /dev/null +++ b/crates/saya/core/src/prover/persistent.rs @@ -0,0 +1,151 @@ +use celestia_types::Commitment; +use serde::{Deserialize, Serialize}; +use starknet_crypto::Felt; + +#[derive(Debug, Clone, PartialEq, Eq, Deserialize)] +pub struct BatcherOutput { + pub padding: [Felt; 2], + pub prev_state_root: Felt, + pub new_state_root: Felt, + pub block_number: Felt, + pub block_hash: Felt, + pub config_hash: Felt, + pub message_to_starknet_segment: Vec, + pub message_to_appchain_segment: Vec, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +pub struct BatcherCall { + pub to: Felt, + pub selector: Felt, + pub calldata: Vec, + pub starknet_messages: Vec, + pub appchain_messages: Vec, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +pub struct BatcherInput { + pub calls: Vec, + pub block_number: Felt, + pub prev_state_root: Felt, + pub block_hash: Felt, +} + +// TODO: import this form katana instead of redefining it once it is merged. +pub type BlockHeight = u64; +#[derive(Debug, Serialize, Deserialize)] +pub struct PublishedStateDiff { + pub prev_state_root: Felt, + pub state_root: Felt, + pub prev_height: Option, + pub prev_commitment: Option, + pub proof: serde_json::Value, +} + +#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)] +pub struct StarknetOsOutput { + /// The root before. + pub initial_root: Felt, + /// The root after. + pub final_root: Felt, + /// The previous block number. + pub prev_block_number: Felt, + /// The current block number. + pub new_block_number: Felt, + /// The previous block hash. + pub prev_block_hash: Felt, + /// The current block hash. + pub new_block_hash: Felt, + /// The hash of the OS program, if the aggregator was used. Zero if the OS was used directly. + pub os_program_hash: Felt, + /// The hash of the OS config. + pub starknet_os_config_hash: Felt, + /// Whether KZG data availability was used. + pub use_kzg_da: Felt, + /// Indicates whether previous state values are included in the state update information. + pub full_output: Felt, + /// Messages from L2 to L1. + pub messages_to_l1: Vec, + /// Messages from L1 to L2. + pub messages_to_l2: Vec, + /// The list of contracts that were changed. + pub contracts: Vec, + /// The list of classes that were declared. A map from class hash to compiled class hash. + // pub classes: HashMap, + pub classes: Vec<(Felt, Felt)>, +} + +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Eq)] +pub struct ContractChanges { + /// The address of the contract. + pub addr: Felt, + /// The new nonce of the contract (for account contracts). + pub nonce: Felt, + /// The new class hash (if changed). + // pub class_hash: Option, + pub class_hash: Felt, + /// A map from storage key to its new value. + pub storage_changes: Vec<(Felt, Felt)>, +} + +#[cfg(test)] +mod batcher_args_tests { + use cairo_proof_parser::{from_felts, to_felts}; + + use super::*; + + #[test] + fn test_batcher_args_no_calls() { + let no_calls = BatcherInput { + calls: vec![], + block_number: Felt::from(1u64), + prev_state_root: Felt::from(42u64), + block_hash: Felt::from(52u64), + }; + + let serialized = to_felts(&no_calls).unwrap(); + let expected = [0u64, 1, 42, 52].into_iter().map(Felt::from).collect::>(); + assert_eq!(serialized, expected); + } + + #[test] + fn test_batcher_args_single_call() { + let no_calls = BatcherInput { + calls: vec![BatcherCall { + to: Felt::from(1u64), + selector: Felt::from(2u64), + calldata: vec![Felt::from(3u64), Felt::from(4u64)], + starknet_messages: Vec::new(), + appchain_messages: Vec::new(), + }], + block_number: Felt::from(1u64), + prev_state_root: Felt::from(42u64), + block_hash: Felt::from(52u64), + }; + + let serialized = to_felts(&no_calls).unwrap(); + let expected = + [1u64, 1, 2, 2, 3, 4, 0, 0, 1, 42, 52].into_iter().map(Felt::from).collect::>(); + assert_eq!(serialized, expected); + } + + #[test] + fn test_parse_program_output() { + let output = + [0, 0, 0, 1, 2, 0x34, 0x2a, 0, 0u64].into_iter().map(Felt::from).collect::>(); + + let parsed = from_felts::(&output).unwrap(); + let expected = BatcherOutput { + padding: [Felt::from(0u64); 2], + prev_state_root: Felt::from(0u64), + new_state_root: Felt::from(1u64), + block_number: Felt::from(2u64), + block_hash: Felt::from(52u64), + config_hash: Felt::from(42u64), + message_to_starknet_segment: vec![], + message_to_appchain_segment: vec![], + }; + + assert_eq!(parsed, expected); + } +} diff --git a/crates/saya/core/src/prover/program_input.rs b/crates/saya/core/src/prover/program_input.rs index 084f6f856b..e00a91770b 100644 --- a/crates/saya/core/src/prover/program_input.rs +++ b/crates/saya/core/src/prover/program_input.rs @@ -9,7 +9,7 @@ use katana_primitives::transaction::{L1HandlerTx, TxHash}; use katana_rpc_types::trace::TxExecutionInfo; use serde::ser::{SerializeSeq, Serializer}; use serde::{Deserialize, Deserializer, Serialize}; -use starknet::core::types::Felt; +use starknet::core::types::{Call, Felt}; /// Based on https://github.com/cartridge-gg/piltover/blob/2be9d46f00c9c71e2217ab74341f77b09f034c81/src/snos_output.cairo#L19-L20 /// With the new state root computed by the prover. @@ -111,6 +111,19 @@ pub fn extract_messages( (message_to_starknet_segment, message_to_appchain_segment) } +pub fn extract_execute_calls(exec_infos: &[TxExecutionInfo]) -> Vec { + // Ignoring the inner calls at this point. + exec_infos + .iter() + .filter_map(|t| t.trace.execute_call_info.clone()) + .map(|c| Call { + to: c.contract_address.into(), + selector: c.entry_point_selector, + calldata: c.calldata, + }) + .collect() +} + impl ProgramInput { /// Extracts the storage updates for the given world, and flattens them into a single vector /// that represent the serialized DA. The length is not included as the array contains @@ -194,7 +207,7 @@ impl ProgramInput { updates } - + // TODO: change to use cainome/serde_felt fn serialize_to_prover_args(&self) -> Vec { let mut out = vec![ self.prev_state_root, diff --git a/crates/saya/core/src/prover/scheduler.rs b/crates/saya/core/src/prover/scheduler.rs deleted file mode 100644 index e89896761d..0000000000 --- a/crates/saya/core/src/prover/scheduler.rs +++ /dev/null @@ -1,223 +0,0 @@ -use anyhow::{bail, Context}; -use cairo_proof_parser::output::{extract_output, ExtractOutputResult}; -use futures::future::BoxFuture; -use futures::FutureExt; -use katana_primitives::state::StateUpdates; -use katana_primitives::Felt; -use tokio::sync::{mpsc, oneshot}; -use tracing::{info, trace}; - -use super::{prove_diff, ProgramInput, ProverIdentifier}; -use crate::prover::extract::program_input_from_program_output; -use crate::prover::ProveProgram; -use crate::LOG_TARGET; - -type Proof = String; - -#[derive(Clone, Copy, Debug, PartialEq, Eq)] -pub enum ProvingState { - Proving, - Proved, - NotPushed, -} -type ProvingStateWithBlock = (u64, ProvingState); - -#[allow(missing_debug_implementations)] -pub struct Scheduler { - root_task: BoxFuture<'static, anyhow::Result<(Proof, ProgramInput)>>, - free_differs: Vec>, - proving_tasks: Vec, - update_channel: mpsc::Receiver, - block_range: (u64, u64), -} - -impl Scheduler { - pub fn new(capacity: usize, world: Felt, prover: ProverIdentifier) -> Self { - let (senders, receivers): (Vec<_>, Vec<_>) = - (0..capacity).map(|_| oneshot::channel::()).unzip(); - - let (update_sender, update_channel) = mpsc::channel(capacity * 2); - let root_task = prove_recursively(receivers, world, prover, update_sender); - - Scheduler { - root_task, - free_differs: senders, - proving_tasks: Vec::with_capacity(capacity), - update_channel, - block_range: (u64::MAX, 0), - } - } - - pub fn is_full(&self) -> bool { - self.free_differs.is_empty() - } - - pub fn push_diff(&mut self, input: ProgramInput) -> anyhow::Result<()> { - if self.is_full() { - bail!("Scheduler is full"); - } - let block_number = input.block_number; - - let sender = self.free_differs.remove(0); - - if sender.send(input).is_err() { - bail!("Failed to send input to differ"); - } - - self.block_range = - (self.block_range.0.min(block_number), self.block_range.1.max(block_number)); - - Ok(()) - } - - pub async fn proved(self) -> anyhow::Result<(Proof, ProgramInput, (u64, u64))> { - let (proof, input) = self.root_task.await?; - Ok((proof, input, self.block_range)) - } - - pub async fn merge( - inputs: Vec, - world: Felt, - prover: ProverIdentifier, - ) -> anyhow::Result<(Proof, ProgramInput)> { - let mut scheduler = Scheduler::new(inputs.len(), world, prover); - let number_of_inputs = inputs.len(); - trace!(target: LOG_TARGET, number_of_inputs, "Pushing inputs to scheduler"); - for input in inputs { - scheduler.push_diff(input)?; - } - info!(target: LOG_TARGET, number_of_inputs, "inputs pushed to scheduler"); - let (merged_proof, merged_input, _) = scheduler.proved().await?; - Ok((merged_proof, merged_input)) - } - - pub async fn query(&mut self, block_number: u64) -> anyhow::Result { - while !self.update_channel.is_empty() { - let (block_number, state) = - self.update_channel.recv().await.context("Failed to recv")?; - - match state { - ProvingState::Proved => { - if let Some((_, s)) = - self.proving_tasks.iter_mut().find(|(n, _)| *n == block_number) - { - *s = ProvingState::Proved; - } else { - bail!("Block number {} was not found in proving tasks", block_number); - } - } - ProvingState::Proving => { - self.proving_tasks.push((block_number, ProvingState::Proved)); - } - _ => { - unreachable!("Update should be either Proving or Proved"); - } - } - } - - match self.proving_tasks.iter().find(|(n, _)| *n == block_number) { - Some((_, s)) => Ok(*s), - None => Ok(ProvingState::NotPushed), - } - } -} - -#[derive(serde::Serialize, serde::Deserialize)] -struct CombinedInputs { - earlier: ProgramInput, - later: ProgramInput, -} - -async fn combine_proofs( - first: Proof, - second: Proof, - prover: ProverIdentifier, - state_updates1: StateUpdates, - state_updates2: StateUpdates, - world: Felt, - number_of_inputs: usize, -) -> anyhow::Result { - let ExtractOutputResult { program_output: program_output1, program_output_hash: _ } = - extract_output(&first)?; - let ExtractOutputResult { program_output: program_output2, program_output_hash: _ } = - extract_output(&second)?; - - let earlier_input = - program_input_from_program_output(program_output1, state_updates1, world).unwrap(); - let later_input = - program_input_from_program_output(program_output2, state_updates2, world).unwrap(); - - let world = format!("{:x}", world); - trace!(target: LOG_TARGET, number_of_inputs, world, "Merging proofs"); - - let prover_input = - serde_json::to_string(&CombinedInputs { earlier: earlier_input, later: later_input })?; - - let merged_proof = prove_diff(prover_input, prover, ProveProgram::Merger).await?; - - Ok(merged_proof) -} - -/// Handles the recursive proving of blocks using asynchronous futures. -/// Returns a proof string asynchronously. -/// It returns a BoxFuture to allow for dynamic dispatch of futures, useful in recursive async -/// calls. -fn prove_recursively( - mut inputs: Vec>, - world: Felt, - prover: ProverIdentifier, - update_channel: mpsc::Sender<(u64, ProvingState)>, -) -> BoxFuture<'static, anyhow::Result<(Proof, ProgramInput)>> { - let handle = tokio::spawn(async move { - if inputs.len() == 1 { - let mut input = inputs.pop().unwrap().await.unwrap(); - input.fill_da(world); - let block_number = input.block_number; - trace!(target: LOG_TARGET, block_number, "Proving block"); - update_channel.send((block_number, ProvingState::Proving)).await.unwrap(); - - let prover_input = serde_json::to_string(&input.clone()).unwrap(); - let proof = prove_diff(prover_input, prover, ProveProgram::Differ).await?; - - info!(target: LOG_TARGET, block_number, "Block proven"); - update_channel.send((block_number, ProvingState::Proved)).await.unwrap(); - Ok((proof, input)) - } else { - let proof_count = inputs.len(); - let last = inputs.split_off(proof_count / 2); - - let provers = (prover.clone(), prover.clone()); - - let second_update_sender = update_channel.clone(); - let (earlier_result, later_result) = tokio::try_join!( - tokio::spawn(async move { - prove_recursively(inputs, world, provers.0, update_channel).await - }), - tokio::spawn(async move { - prove_recursively(last, world, provers.1, second_update_sender).await - }), - )?; - - let ((earlier_result, earlier_input), (later_result, later_input)) = - (earlier_result?, later_result?); - - let input = earlier_input.clone().combine(later_input.clone())?; - let merged_proofs = combine_proofs( - earlier_result, - later_result, - prover, - earlier_input.state_updates, - later_input.state_updates, - world, - proof_count, - ) - .await?; - - let first_proven = earlier_input.block_number; - info!(target: LOG_TARGET, first_proven, proof_count, "Merged proofs"); - Ok((merged_proofs, input)) - } - }); - - async move { handle.await? }.boxed() -} diff --git a/crates/saya/core/src/prover/state_diff.rs b/crates/saya/core/src/prover/state_diff.rs deleted file mode 100644 index 22de7b36f4..0000000000 --- a/crates/saya/core/src/prover/state_diff.rs +++ /dev/null @@ -1,117 +0,0 @@ -use katana_primitives::state::StateUpdates; -use starknet::core::types::Felt; - -#[derive(Debug)] -pub struct ProvedStateDiff { - pub genesis_state_hash: Felt, - pub prev_state_hash: Felt, - pub state_updates: StateUpdates, -} - -#[cfg(test)] -pub const EXAMPLE_STATE_DIFF: &str = r#"{ - "genesis_state_hash": 12312321313, - "prev_state_hash": 34343434343, - "nonce_updates": { - "1": 12, - "2": 1337 - }, - "storage_updates": { - "1": { - "123456789": 89, - "987654321": 98 - }, - "2": { - "123456789": 899, - "987654321": 98 - } - }, - "contract_updates": { - "3": 437267489 - }, - "declared_classes": { - "1234": 12345, - "12345": 123456, - "123456": 1234567 - } -}"#; - -#[cfg(test)] -pub const EXAMPLE_KATANA_DIFF: &str = r#"{ - "genesis_state_hash": 0, - "prev_state_hash": 0, - "nonce_updates": { - "2753027862869584298471002046734263971941226372316454331586763888183773261315": 1 - }, - "storage_updates": { - "2087021424722619777119509474943472645767659996348769578120564519014510906823": { - "2080372569135727803323277605537468839623406868880224375222092136867736091483": 9999999366500000000000, - "3488041066649332616440110253331181934927363442882040970594983370166361489161": 633500000000000 - } - }, - "contract_updates": {}, - "declared_classes": { - "2927827620326415540917522810963695348790596370636511605071677066526091865974": 3454128523693959991357220485501659129201494257878487792088502805686335557901 - } -}"#; - -/// We need custom implementation because of dynamic keys in json -impl ProvedStateDiff { - pub fn serialize(&self) -> String { - let mut result = String::from('{'); - result.push_str(&format!(r#""genesis_state_hash":{}"#, self.genesis_state_hash)); - result.push_str(&format!(r#","prev_state_hash":{}"#, self.prev_state_hash)); - - result.push_str(&format!(r#","nonce_updates":{}"#, "{")); - let nonce_updates = self - .state_updates - .nonce_updates - .iter() - .map(|(k, v)| format!(r#""{}":{}"#, k.0, v)) - .collect::>() - .join(","); - result.push_str(&format!("{}{}", nonce_updates, "}")); - - result.push_str(&format!(r#","storage_updates":{}"#, "{")); - let storage_updates = self - .state_updates - .storage_updates - .iter() - .map(|(k, v)| { - let storage = v - .iter() - .map(|(k, v)| format!(r#""{}":{}"#, k, v)) - .collect::>() - .join(","); - - format!(r#""{}":{{{}}}"#, k.0, storage) - }) - .collect::>() - .join(","); - result.push_str(&format!("{}{}", storage_updates, "}")); - - result.push_str(&format!(r#","contract_updates":{}"#, "{")); - let contract_updates = self - .state_updates - .deployed_contracts - .iter() - .map(|(k, v)| format!(r#""{}":{}"#, k.0, v)) - .collect::>() - .join(","); - result.push_str(&format!("{}{}", contract_updates, "}")); - - result.push_str(&format!(r#","declared_classes":{}"#, "{")); - let declared_classes = self - .state_updates - .declared_classes - .iter() - .map(|(k, v)| format!(r#""{}":{}"#, k, v)) - .collect::>() - .join(","); - - result.push_str(&format!("{}{}", declared_classes, "}")); - result.push('}'); - - result - } -} diff --git a/crates/saya/core/src/prover/stone_image.rs b/crates/saya/core/src/prover/stone_image.rs deleted file mode 100644 index aae10a90e2..0000000000 --- a/crates/saya/core/src/prover/stone_image.rs +++ /dev/null @@ -1,103 +0,0 @@ -use std::fs::File; -use std::process::Stdio; - -use anyhow::{bail, Context}; -use async_trait::async_trait; -use tokio::io::{AsyncBufReadExt, AsyncReadExt, AsyncWriteExt, BufReader}; -use tokio::process::Command; -use tokio::sync::OnceCell; -use tracing::trace; - -use super::{ProveProgram, ProverClient, ProverIdentifier}; -use crate::prover::loader::prepare_input_cairo0; -use crate::LOG_TARGET; - -const PROVER_IMAGE: &str = "neotheprogramist/stone-cairo0:latest"; - -#[derive(Debug, Clone)] -pub struct StoneProver(pub String); - -pub async fn prove_stone(input: String, prove_program: ProveProgram) -> anyhow::Result { - let prover = StoneProver::new().await?; - trace!(target: LOG_TARGET, "Proving with cairo0."); - - let input = prepare_input_cairo0(input, prove_program).await?; - let input = serde_json::to_string(&input).context("Failed to serialize input")?; - - std::io::Write::write_all(&mut File::create("input.json")?, input.as_bytes())?; - - prover.prove(input).await.context("Failed to prove using the http prover") -} - -#[async_trait] -impl ProverClient for StoneProver { - fn identifier() -> ProverIdentifier { - ProverIdentifier::Stone - } - - async fn prove(&self, input: String) -> anyhow::Result { - let mut command = Command::new("podman"); - command.arg("run").arg("-i").arg("--rm").arg(&self.0); - - run(command, Some(input)).await - } -} - -impl StoneProver { - async fn new() -> anyhow::Result { - static STONE_PROVER: OnceCell> = OnceCell::const_new(); - - let result = STONE_PROVER - .get_or_init(|| async { - let mut command = Command::new("podman"); - command.arg("pull").arg(format!("docker.io/{}", PROVER_IMAGE)); - - run(command, None).await.context("Failed to pull prover") - }) - .await; - - if result.is_err() { - bail!("Failed to pull prover"); - } - - Ok(StoneProver(PROVER_IMAGE.to_string())) - } -} - -async fn run(mut command: Command, input: Option) -> anyhow::Result { - command.stdout(Stdio::piped()).stderr(Stdio::piped()).stdin(Stdio::piped()); - - let mut child = command.spawn()?; - - if let Some(input) = input { - let mut stdin = child.stdin.take().context("failed to open stdin")?; - - tokio::spawn(async move { - stdin.write_all(input.as_bytes()).await.unwrap(); - }); - } - - let stdout = child.stdout.take().context("failed to open stdout")?; - let reader = BufReader::new(stdout); - let mut lines = reader.lines(); - let mut out = String::new(); - while let Some(line) = lines.next_line().await? { - out.push_str(&line); - } - - let status = child.wait().await?; - - if !status.success() { - if let Some(mut output) = child.stderr.take() { - let mut err = Vec::new(); - output.read_to_end(&mut err).await?; - - // Handle error output - let err = String::from_utf8(err).context("failed to parse stderr")?; - bail!("Podman error: {}", err) - }; - bail!("Error without stderr") - } - - Ok(out) -} diff --git a/crates/saya/core/src/prover/vec252.rs b/crates/saya/core/src/prover/vec252.rs deleted file mode 100644 index 2d6c0f979b..0000000000 --- a/crates/saya/core/src/prover/vec252.rs +++ /dev/null @@ -1,120 +0,0 @@ -use std::ops::Deref; -use std::str::FromStr; - -use cairo_felt::Felt252; -use serde::de::Visitor; -use serde::Deserialize; -use serde_json::Value; -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum VecFelt252Error { - #[error("failed to parse number: {0}")] - NumberParseError(#[from] std::num::ParseIntError), - #[error("failed to parse bigint: {0}")] - BigIntParseError(#[from] num_bigint::ParseBigIntError), - #[error("number out of range")] - NumberOutOfRange, -} - -/// `VecFelt252` is a wrapper around a vector of `Arg`. -/// -/// It provides convenience methods for working with a vector of `Arg` and implements -/// `Deref` to allow it to be treated like a vector of `Arg`. -#[derive(Debug, Clone)] -pub struct VecFelt252(Vec); - -impl VecFelt252 { - /// Creates a new `VecFelt252` from a vector of `Arg`. - /// - /// # Arguments - /// - /// * `args` - A vector of `Arg`. - /// - /// # Returns - /// - /// * `VecFelt252` - A new `VecFelt252` instance. - #[must_use] - pub fn new(args: Vec) -> Self { - Self(args) - } -} - -impl Deref for VecFelt252 { - type Target = Vec; - fn deref(&self) -> &Self::Target { - &self.0 - } -} - -impl From for Vec { - fn from(args: VecFelt252) -> Self { - args.0 - } -} - -impl From> for VecFelt252 { - fn from(args: Vec) -> Self { - Self(args) - } -} - -impl VecFelt252 { - fn visit_seq_helper(seq: &[Value]) -> Result { - let iterator = seq.iter(); - let mut args = Vec::new(); - - for arg in iterator { - match arg { - Value::Number(n) => { - let n = n.as_u64().ok_or(VecFelt252Error::NumberOutOfRange)?; - args.push(Felt252::from(n)); - } - Value::String(n) => { - let n = num_bigint::BigUint::from_str(n)?; - args.push(Felt252::from_bytes_be(&n.to_bytes_be())); - } - Value::Array(a) => { - args.push(Felt252::from(a.len())); - let result = Self::visit_seq_helper(a)?; - args.extend(result.0); - } - _ => (), - } - } - - Ok(Self::new(args)) - } -} - -impl<'de> Visitor<'de> for VecFelt252 { - type Value = VecFelt252; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("a list of arguments") - } - fn visit_seq(self, mut seq: A) -> Result - where - A: serde::de::SeqAccess<'de>, - { - let mut args = Vec::new(); - while let Some(arg) = seq.next_element()? { - match arg { - Value::Number(n) => args.push(Value::Number(n)), - Value::String(n) => args.push(Value::String(n)), - Value::Array(a) => args.push(Value::Array(a)), - _ => return Err(serde::de::Error::custom("Invalid type")), - } - } - - Self::visit_seq_helper(&args).map_err(|e| serde::de::Error::custom(e.to_string())) - } -} - -impl<'de> Deserialize<'de> for VecFelt252 { - fn deserialize(deserializer: D) -> Result - where - D: serde::Deserializer<'de>, - { - deserializer.deserialize_seq(VecFelt252(Vec::new())) - } -} diff --git a/crates/saya/core/src/verifier/mod.rs b/crates/saya/core/src/verifier/mod.rs index c9334456c8..232c474d36 100644 --- a/crates/saya/core/src/verifier/mod.rs +++ b/crates/saya/core/src/verifier/mod.rs @@ -10,28 +10,35 @@ use ::starknet::core::types::Felt; use serde::{Deserialize, Serialize}; -use crate::StarknetAccountData; +use crate::error::Error; +use crate::SayaStarknetAccount; mod starknet; +pub mod utils; /// Supported verifiers. #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub enum VerifierIdentifier { HerodotusStarknetSepolia(Felt), - StoneLocal, StarkwareEthereum, } pub async fn verify( verifier: VerifierIdentifier, serialized_proof: Vec, - account: StarknetAccountData, -) -> anyhow::Result<(String, Felt)> { + account: &SayaStarknetAccount, + cairo_version: Felt, +) -> Result<(String, Felt), Error> { match verifier { VerifierIdentifier::HerodotusStarknetSepolia(fact_registry_address) => { - starknet::starknet_verify(fact_registry_address, serialized_proof, account).await + starknet::starknet_verify( + fact_registry_address, + serialized_proof.clone(), + cairo_version, + account, + ) + .await } - VerifierIdentifier::StoneLocal => unimplemented!("Stone Verifier not yet supported"), VerifierIdentifier::StarkwareEthereum => { unimplemented!("Herodotus Starknet not yet supported") } diff --git a/crates/saya/core/src/verifier/starknet.rs b/crates/saya/core/src/verifier/starknet.rs index 2a04006944..a9e3eb1654 100644 --- a/crates/saya/core/src/verifier/starknet.rs +++ b/crates/saya/core/src/verifier/starknet.rs @@ -1,74 +1,87 @@ use std::time::Duration; +use std::vec; -use anyhow::Context; use dojo_utils::{TransactionExt, TxnConfig}; +use itertools::Itertools; use starknet::accounts::{Account, ConnectedAccount}; -use starknet::core::types::{Call, Felt, TransactionExecutionStatus, TransactionStatus}; +use starknet::core::types::{Call, Felt}; use starknet::core::utils::get_selector_from_name; -use starknet::providers::Provider; +use starknet_crypto::poseidon_hash_many; use tokio::time::sleep; +use tracing::{info, trace}; -use crate::dojo_os::get_starknet_account; -use crate::StarknetAccountData; +use super::utils::wait_for_sent_transaction; +use crate::error::{Error, ProverError}; +use crate::{retry, SayaStarknetAccount, LOG_TARGET}; +const CHUNK_SIZE: usize = 800; pub async fn starknet_verify( fact_registry_address: Felt, serialized_proof: Vec, - starknet_config: StarknetAccountData, -) -> anyhow::Result<(String, Felt)> { - let txn_config = TxnConfig { wait: true, receipt: true, ..Default::default() }; - let account = get_starknet_account(starknet_config)?; - let account = account.lock().await; + cairo_version: Felt, + account: &SayaStarknetAccount, +) -> Result<(String, Felt), Error> { + if serialized_proof.len() > CHUNK_SIZE { + trace!(target: LOG_TARGET, + "Calldata too long at: {} felts, transaction could fail, splitting it.", + serialized_proof.len() + ); + } - let nonce = account.get_nonce().await?; - let tx = account - .execute_v1(vec![Call { - to: fact_registry_address, - selector: get_selector_from_name("verify_and_register_fact").expect("invalid selector"), - calldata: serialized_proof, - }]) - .nonce(nonce) - .send_with_cfg(&txn_config) - .await - .context("Failed to send `verify_and_register_fact` transaction.")?; + let txn_config = TxnConfig { wait: true, receipt: true, ..Default::default() }; - let start_fetching = std::time::Instant::now(); - let wait_for = Duration::from_secs(60); - let execution_status = loop { - if start_fetching.elapsed() > wait_for { - anyhow::bail!("Transaction not mined in {} seconds.", wait_for.as_secs()); - } + let mut hashes = Vec::new(); - let status = match account.provider().get_transaction_status(tx.transaction_hash).await { - Ok(status) => status, - Err(_e) => { - sleep(Duration::from_secs(1)).await; - continue; - } - }; + for fragment in serialized_proof.into_iter().chunks(CHUNK_SIZE).into_iter() { + sleep(Duration::from_secs(12)).await; + let nonce = account.get_nonce().await?; + let mut fragment = fragment.collect::>(); + let hash = poseidon_hash_many(&fragment); + hashes.push(hash); + fragment.insert(0, fragment.len().into()); + let tx = retry!( + account + .execute_v1(vec![Call { + to: fact_registry_address, + selector: get_selector_from_name("publish_fragment").expect("invalid selector"), + calldata: fragment.clone(), + }]) + .nonce(nonce) + .send_with_cfg(&txn_config) + ) + .map_err(|e| ProverError::SendTransactionError(e.to_string()))?; - break match status { - TransactionStatus::Received => { - println!("Transaction received."); - sleep(Duration::from_secs(1)).await; - continue; - } - TransactionStatus::Rejected => { - anyhow::bail!("Transaction {:#x} rejected.", tx.transaction_hash); - } - TransactionStatus::AcceptedOnL2(execution_status) => execution_status, - TransactionStatus::AcceptedOnL1(execution_status) => execution_status, - }; - }; + wait_for_sent_transaction(tx.clone(), account).await?; - match execution_status { - TransactionExecutionStatus::Succeeded => { - println!("Transaction accepted on L2."); - } - TransactionExecutionStatus::Reverted => { - anyhow::bail!("Transaction failed with."); - } + trace!(target: LOG_TARGET, "Sent `publish_fragment` transaction {:#x}", tx.transaction_hash); } - Ok((format!("{:#x}", tx.transaction_hash), nonce)) + info!(target: LOG_TARGET, "Sent all proof fragments."); + + let calldata = [Felt::from(hashes.len() as u64)] + .into_iter() + .chain(hashes.into_iter()) + .chain([cairo_version].into_iter()) + .collect::>(); + + sleep(Duration::from_secs(2)).await; + let nonce = account.get_nonce().await?; + + let tx = retry!( + account + .execute_v1(vec![Call { + to: fact_registry_address, + selector: get_selector_from_name("verify_and_register_fact_from_fragments") + .expect("invalid selector"), + calldata: calldata.clone(), + }]) + .nonce(nonce) + .send_with_cfg(&txn_config) + ) + .map_err(|e| ProverError::SendTransactionError(e.to_string()))?; + + let transaction_hash = format!("{:#x}", tx.transaction_hash); + wait_for_sent_transaction(tx, account).await?; + + Ok((transaction_hash, nonce + Felt::ONE)) } diff --git a/crates/saya/core/src/verifier/utils.rs b/crates/saya/core/src/verifier/utils.rs new file mode 100644 index 0000000000..39b6327d72 --- /dev/null +++ b/crates/saya/core/src/verifier/utils.rs @@ -0,0 +1,61 @@ +use std::time::Duration; + +use starknet::accounts::ConnectedAccount; +use starknet::core::types::{ + InvokeTransactionResult, TransactionExecutionStatus, TransactionStatus, +}; +use starknet::providers::Provider; +use tokio::time::sleep; +use tracing::trace; + +use crate::error::Error; +use crate::{SayaStarknetAccount, LOG_TARGET}; + +pub async fn wait_for_sent_transaction( + tx: InvokeTransactionResult, + account: &SayaStarknetAccount, +) -> Result<(), Error> { + let start_fetching = std::time::Instant::now(); + let wait_for = Duration::from_secs(60); + + let execution_status = loop { + if start_fetching.elapsed() > wait_for { + return Err(Error::TimeoutError(format!( + "Transaction not mined in {} seconds.", + wait_for.as_secs() + ))); + } + + let status = match account.provider().get_transaction_status(tx.transaction_hash).await { + Ok(status) => status, + Err(_e) => { + sleep(Duration::from_secs(1)).await; + continue; + } + }; + + break match status { + TransactionStatus::Received => { + trace!(target: LOG_TARGET, "Transaction received."); + sleep(Duration::from_secs(1)).await; + continue; + } + TransactionStatus::Rejected => { + return Err(Error::TransactionRejected(tx.transaction_hash.to_string())); + } + TransactionStatus::AcceptedOnL2(execution_status) => execution_status, + TransactionStatus::AcceptedOnL1(execution_status) => execution_status, + }; + }; + match execution_status { + TransactionExecutionStatus::Succeeded => { + trace!(target: LOG_TARGET, "Transaction accepted on L2."); + } + TransactionExecutionStatus::Reverted => { + // Return a custom error when the transaction is reverted + return Err(Error::TransactionFailed(tx.transaction_hash.to_string())); + } + } + + Ok(()) +} diff --git a/crates/saya/provider/src/rpc/mod.rs b/crates/saya/provider/src/rpc/mod.rs index 1758a70866..4ed2354d05 100644 --- a/crates/saya/provider/src/rpc/mod.rs +++ b/crates/saya/provider/src/rpc/mod.rs @@ -12,7 +12,7 @@ use katana_primitives::chain::ChainId; use katana_primitives::conversion::rpc as rpc_converter; use katana_primitives::state::StateUpdatesWithDeclaredClasses; use katana_primitives::transaction::TxWithHash; -use katana_primitives::version::Version; +use katana_primitives::version::ProtocolVersion; use katana_rpc_api::saya::SayaApiClient; use katana_rpc_types::trace::TxExecutionInfo; use num_traits::ToPrimitive; @@ -93,14 +93,19 @@ impl Provider for JsonRpcProvider { header: Header { parent_hash: block.parent_hash, number: block.block_number, - gas_prices: GasPrices::new( + l1_gas_prices: GasPrices::new( block.l1_gas_price.price_in_wei.to_u128().unwrap(), block.l1_gas_price.price_in_fri.to_u128().unwrap(), ), + l1_data_gas_prices: GasPrices::new( + block.l1_data_gas_price.price_in_wei.to_u128().unwrap(), + block.l1_data_gas_price.price_in_fri.to_u128().unwrap(), + ), + l1_da_mode: block.l1_da_mode, timestamp: block.timestamp, state_root: block.new_root, sequencer_address: block.sequencer_address.into(), - version: Version::parse(&block.starknet_version)?, + protocol_version: ProtocolVersion::parse(&block.starknet_version).unwrap(), }, }, body: txs, diff --git a/crates/sozo/ops/Cargo.toml b/crates/sozo/ops/Cargo.toml index a3ff511a4a..0204596429 100644 --- a/crates/sozo/ops/Cargo.toml +++ b/crates/sozo/ops/Cargo.toml @@ -60,7 +60,6 @@ assert_fs.workspace = true dojo-test-utils = { workspace = true, features = [ "build-examples" ] } ipfs-api-backend-hyper = { git = "https://github.com/ferristseng/rust-ipfs-api", rev = "af2c17f7b19ef5b9898f458d97a90055c3605633", features = [ "with-hyper-rustls" ] } katana-runner.workspace = true -tee = "0.1.0" [features] test-utils = [ "dep:dojo-test-utils", "dep:katana-runner" ] diff --git a/crates/sozo/ops/src/migration/migrate.rs b/crates/sozo/ops/src/migration/migrate.rs index c8c4b0fbfd..c4ffaf6e69 100644 --- a/crates/sozo/ops/src/migration/migrate.rs +++ b/crates/sozo/ops/src/migration/migrate.rs @@ -1057,7 +1057,7 @@ where Err(ProviderError::StarknetError(StarknetError::ContractNotFound)) => { format!("{}: Deploy", contract.diff.tag) } - Ok(_) => "Already Deployed".to_string(), + Ok(_) => format!("{}: Already Deployed", contract.diff.tag), Err(_) => format!("{}: Deploy", contract.diff.tag), } } else { diff --git a/crates/sozo/ops/src/tests/model.rs b/crates/sozo/ops/src/tests/model.rs index 0b420d8bad..015da45829 100644 --- a/crates/sozo/ops/src/tests/model.rs +++ b/crates/sozo/ops/src/tests/model.rs @@ -54,7 +54,7 @@ async fn test_model_ops(sequencer: &RunnerCtx) { ) .await .unwrap(), - Felt::from_hex("0x237386e1b35190b45c7d0aa29b3957d84ba2d4d22c2c10f7511b3abf0d7bd73") + Felt::from_hex("0x60d4450c23606e0e9bdd4f1b146ef50e5bc4dde5034946b54c3012bae1add02") .unwrap() ); diff --git a/crates/torii/client/Cargo.toml b/crates/torii/client/Cargo.toml index 459f1b8b84..0c7f7ec51b 100644 --- a/crates/torii/client/Cargo.toml +++ b/crates/torii/client/Cargo.toml @@ -8,11 +8,10 @@ version.workspace = true [dependencies] async-trait.workspace = true crypto-bigint.workspace = true -dojo-types = { path = "../../dojo-types" } -dojo-world = { path = "../../dojo-world", features = [ "contracts" ] } +dojo-types.workspace = true +dojo-world = { workspace = true, features = [ "contracts" ] } futures.workspace = true futures-util.workspace = true -libp2p-gossipsub = "0.46.1" num-traits.workspace = true parking_lot.workspace = true serde.workspace = true @@ -21,8 +20,8 @@ starknet.workspace = true starknet-crypto.workspace = true thiserror.workspace = true tokio = { version = "1.32.0", features = [ "sync" ], default-features = false } -torii-grpc = { path = "../grpc", features = [ "client" ] } -torii-relay = { path = "../libp2p" } +torii-grpc = { workspace = true, features = [ "client" ] } +torii-relay = { workspace = true } url.workspace = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies] @@ -35,5 +34,5 @@ wasm-tonic.workspace = true [dev-dependencies] camino.workspace = true -dojo-world = { path = "../../dojo-world" } +dojo-world.workspace = true tokio.workspace = true diff --git a/crates/torii/client/src/client/mod.rs b/crates/torii/client/src/client/mod.rs index 42ca0e4c07..cff1cabda7 100644 --- a/crates/torii/client/src/client/mod.rs +++ b/crates/torii/client/src/client/mod.rs @@ -10,7 +10,7 @@ use starknet::core::types::Felt; use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::JsonRpcClient; use tokio::sync::RwLock as AsyncRwLock; -use torii_grpc::client::{EntityUpdateStreaming, EventUpdateStreaming}; +use torii_grpc::client::{EntityUpdateStreaming, EventUpdateStreaming, IndexerUpdateStreaming}; use torii_grpc::proto::world::{RetrieveEntitiesResponse, RetrieveEventsResponse}; use torii_grpc::types::schema::Entity; use torii_grpc::types::{EntityKeysClause, Event, EventQuery, KeysClause, Query}; @@ -156,6 +156,7 @@ impl Client { Ok(()) } + /// A direct stream to grpc subscribe starknet events pub async fn on_starknet_event( &self, keys: Option, @@ -164,4 +165,17 @@ impl Client { let stream = grpc_client.subscribe_events(keys).await?; Ok(stream) } + + /// Subscribe to indexer updates for a specific contract address. + /// If no contract address is provided, it will subscribe to updates for world contract. + pub async fn on_indexer_updated( + &self, + contract_address: Option, + ) -> Result { + let mut grpc_client = self.inner.write().await; + let stream = grpc_client + .subscribe_indexer(contract_address.unwrap_or(self.world_reader.address)) + .await?; + Ok(stream) + } } diff --git a/crates/torii/core/Cargo.toml b/crates/torii/core/Cargo.toml index d21c4c06b0..30040d528b 100644 --- a/crates/torii/core/Cargo.toml +++ b/crates/torii/core/Cargo.toml @@ -12,39 +12,35 @@ version.workspace = true anyhow.workspace = true async-trait.workspace = true base64.workspace = true +bitflags = "2.6.0" cainome.workspace = true chrono.workspace = true crypto-bigint.workspace = true -dojo-types = { path = "../../dojo-types" } -dojo-world = { path = "../../dojo-world", features = [ "contracts", "manifest" ] } +dojo-types.workspace = true +dojo-world = { workspace = true, features = [ "contracts", "manifest" ] } futures-channel = "0.3.0" futures-util.workspace = true hashlink.workspace = true -hex.workspace = true -lazy_static.workspace = true -log.workspace = true num-traits.workspace = true once_cell.workspace = true reqwest.workspace = true -scarb-ui.workspace = true serde.workspace = true serde_json.workspace = true slab = "0.4.2" -sozo-ops.workspace = true sqlx.workspace = true starknet-crypto.workspace = true starknet.workspace = true thiserror.workspace = true tokio = { version = "1.32.0", features = [ "sync" ], default-features = true } -tokio-stream = "0.1.11" -tokio-util = "0.7.7" +# tokio-stream = "0.1.11" +tokio-util.workspace = true +toml.workspace = true tracing.workspace = true -clap.workspace = true -bitflags = "2.6.0" [dev-dependencies] camino.workspace = true -dojo-test-utils = { path = "../../dojo-test-utils" } +dojo-test-utils.workspace = true dojo-utils.workspace = true katana-runner.workspace = true scarb.workspace = true +tempfile.workspace = true diff --git a/crates/torii/core/src/engine.rs b/crates/torii/core/src/engine.rs index 9f1131b149..ed51840ae6 100644 --- a/crates/torii/core/src/engine.rs +++ b/crates/torii/core/src/engine.rs @@ -1,4 +1,4 @@ -use std::collections::{BTreeMap, HashMap}; +use std::collections::{BTreeMap, HashMap, HashSet, VecDeque}; use std::fmt::Debug; use std::hash::{DefaultHasher, Hash, Hasher}; use std::sync::Arc; @@ -7,13 +7,16 @@ use std::time::Duration; use anyhow::Result; use bitflags::bitflags; use dojo_world::contracts::world::WorldContractReader; +use futures_util::future::{join_all, try_join_all}; use hashlink::LinkedHashMap; use starknet::core::types::{ - BlockId, BlockTag, EmittedEvent, Event, EventFilter, Felt, MaybePendingBlockWithReceipts, - MaybePendingBlockWithTxHashes, PendingBlockWithReceipts, ReceiptBlock, Transaction, - TransactionReceipt, TransactionReceiptWithBlockInfo, TransactionWithReceipt, + BlockId, BlockTag, EmittedEvent, Event, EventFilter, EventsPage, MaybePendingBlockWithReceipts, + MaybePendingBlockWithTxHashes, PendingBlockWithReceipts, Transaction, TransactionReceipt, + TransactionWithReceipt, }; +use starknet::core::utils::get_selector_from_name; use starknet::providers::Provider; +use starknet_crypto::Felt; use tokio::sync::broadcast::Sender; use tokio::sync::mpsc::Sender as BoundedSender; use tokio::sync::Semaphore; @@ -21,29 +24,98 @@ use tokio::task::JoinSet; use tokio::time::{sleep, Instant}; use tracing::{debug, error, info, trace, warn}; +use crate::processors::erc20_legacy_transfer::Erc20LegacyTransferProcessor; +use crate::processors::erc20_transfer::Erc20TransferProcessor; +use crate::processors::erc721_legacy_transfer::Erc721LegacyTransferProcessor; +use crate::processors::erc721_transfer::Erc721TransferProcessor; use crate::processors::event_message::EventMessageProcessor; +use crate::processors::metadata_update::MetadataUpdateProcessor; +use crate::processors::register_model::RegisterModelProcessor; +use crate::processors::store_del_record::StoreDelRecordProcessor; +use crate::processors::store_set_record::StoreSetRecordProcessor; +use crate::processors::store_update_member::StoreUpdateMemberProcessor; +use crate::processors::store_update_record::StoreUpdateRecordProcessor; use crate::processors::{BlockProcessor, EventProcessor, TransactionProcessor}; -use crate::sql::Sql; +use crate::sql::{Cursors, Sql}; +use crate::types::ContractType; + +type EventProcessorMap

= HashMap>>>; #[allow(missing_debug_implementations)] pub struct Processors { pub block: Vec>>, pub transaction: Vec>>, - pub event: HashMap>>, pub catch_all_event: Box>, + pub event_processors: HashMap>, } impl Default for Processors

{ fn default() -> Self { Self { block: vec![], - event: HashMap::new(), transaction: vec![], catch_all_event: Box::new(EventMessageProcessor) as Box>, + event_processors: Self::initialize_event_processors(), } } } +impl Processors

{ + pub fn initialize_event_processors() -> HashMap> { + let mut event_processors_map = HashMap::>::new(); + + let event_processors = vec![ + ( + ContractType::WORLD, + vec![ + Box::new(RegisterModelProcessor) as Box>, + Box::new(StoreSetRecordProcessor), + Box::new(MetadataUpdateProcessor), + Box::new(StoreDelRecordProcessor), + Box::new(StoreUpdateRecordProcessor), + Box::new(StoreUpdateMemberProcessor), + ], + ), + ( + ContractType::ERC20, + vec![ + Box::new(Erc20TransferProcessor) as Box>, + Box::new(Erc20LegacyTransferProcessor) as Box>, + ], + ), + ( + ContractType::ERC721, + vec![ + Box::new(Erc721TransferProcessor) as Box>, + Box::new(Erc721LegacyTransferProcessor) as Box>, + ], + ), + ]; + + for (contract_type, processors) in event_processors { + for processor in processors { + let key = get_selector_from_name(processor.event_key().as_str()) + .expect("Event key is ASCII so this should never fail"); + // event_processors_map.entry(contract_type).or_default().insert(key, processor); + event_processors_map + .entry(contract_type) + .or_default() + .entry(key) + .or_default() + .push(processor); + } + } + + event_processors_map + } + + pub fn get_event_processor( + &self, + contract_type: ContractType, + ) -> &HashMap>>> { + self.event_processors.get(&contract_type).unwrap() + } +} pub(crate) const LOG_TARGET: &str = "torii_core::engine"; pub const QUERY_QUEUE_BATCH_SIZE: usize = 1000; @@ -59,6 +131,7 @@ bitflags! { pub struct EngineConfig { pub polling_interval: Duration, pub start_block: u64, + pub blocks_chunk_size: u64, pub events_chunk_size: u64, pub index_pending: bool, pub max_concurrent_tasks: usize, @@ -70,6 +143,7 @@ impl Default for EngineConfig { Self { polling_interval: Duration::from_millis(500), start_block: 0, + blocks_chunk_size: 10240, events_chunk_size: 1024, index_pending: true, max_concurrent_tasks: 100, @@ -88,6 +162,7 @@ pub enum FetchDataResult { #[derive(Debug)] pub struct FetchRangeResult { // (block_number, transaction_hash) -> events + // NOTE: LinkedList might contains blocks in different order pub transactions: LinkedHashMap<(u64, Felt), Vec>, pub blocks: BTreeMap, pub latest_block_number: u64, @@ -112,12 +187,13 @@ pub struct ParallelizedEvent { pub struct Engine { world: Arc>, db: Sql, - provider: Box

, + provider: Arc

, processors: Arc>, config: EngineConfig, shutdown_tx: Sender<()>, block_tx: Option>, - tasks: HashMap>, + tasks: HashMap>, + contracts: Arc>, } struct UnprocessedEvent { @@ -126,6 +202,7 @@ struct UnprocessedEvent { } impl Engine

{ + #[allow(clippy::too_many_arguments)] pub fn new( world: WorldContractReader

, db: Sql, @@ -134,24 +211,26 @@ impl Engine

{ config: EngineConfig, shutdown_tx: Sender<()>, block_tx: Option>, + contracts: Arc>, ) -> Self { Self { world: Arc::new(world), db, - provider: Box::new(provider), + provider: Arc::new(provider), processors: Arc::new(processors), config, shutdown_tx, block_tx, + contracts, tasks: HashMap::new(), } } pub async fn start(&mut self) -> Result<()> { // use the start block provided by user if head is 0 - let (head, _, _) = self.db.head().await?; + let (head, _, _) = self.db.head(self.world.address).await?; if head == 0 { - self.db.set_head(self.config.start_block); + self.db.set_head(self.config.start_block, 0, 0, self.world.address).await?; } else if self.config.start_block != 0 { warn!(target: LOG_TARGET, "Start block ignored, stored head exists and will be used instead."); } @@ -163,12 +242,12 @@ impl Engine

{ let mut erroring_out = false; loop { - let (head, last_pending_block_world_tx, last_pending_block_tx) = self.db.head().await?; + let cursors = self.db.cursors().await?; tokio::select! { _ = shutdown_rx.recv() => { break Ok(()); } - res = self.fetch_data(head, last_pending_block_world_tx, last_pending_block_tx) => { + res = self.fetch_data(&cursors) => { match res { Ok(fetch_result) => { let instant = Instant::now(); @@ -179,7 +258,10 @@ impl Engine

{ } match self.process(fetch_result).await { - Ok(()) => {} + Ok(_) => { + self.db.execute().await?; + self.db.apply_cache_diff().await?; + }, Err(e) => { error!(target: LOG_TARGET, error = %e, "Processing fetched data."); erroring_out = true; @@ -206,23 +288,24 @@ impl Engine

{ } } - pub async fn fetch_data( - &mut self, - from: u64, - last_pending_block_world_tx: Option, - last_pending_block_tx: Option, - ) -> Result { - let instant = Instant::now(); + // TODO: since we now process blocks in chunks we can parallelize the fetching of data + pub async fn fetch_data(&mut self, cursors: &Cursors) -> Result { let latest_block_number = self.provider.block_hash_and_number().await?.block_number; + let from = cursors.head.unwrap_or(0); + let total_remaining_blocks = latest_block_number - from; + let blocks_to_process = total_remaining_blocks.min(self.config.blocks_chunk_size); + let to = from + blocks_to_process; + + let instant = Instant::now(); let result = if from < latest_block_number { let from = if from == 0 { from } else { from + 1 }; - let data = - self.fetch_range(from, latest_block_number, last_pending_block_world_tx).await?; - debug!(target: LOG_TARGET, duration = ?instant.elapsed(), from = %from, to = %latest_block_number, "Fetched data for range."); + let data = self.fetch_range(from, to, &cursors.cursor_map).await?; + debug!(target: LOG_TARGET, duration = ?instant.elapsed(), from = %from, to = %to, "Fetched data for range."); FetchDataResult::Range(data) } else if self.config.index_pending { - let data = self.fetch_pending(latest_block_number + 1, last_pending_block_tx).await?; + let data = + self.fetch_pending(latest_block_number + 1, cursors.last_pending_block_tx).await?; debug!(target: LOG_TARGET, duration = ?instant.elapsed(), latest_block_number = %latest_block_number, "Fetched pending data."); if let Some(data) = data { FetchDataResult::Pending(data) @@ -240,98 +323,107 @@ impl Engine

{ &mut self, from: u64, to: u64, - last_pending_block_world_tx: Option, + cursor_map: &HashMap, ) -> Result { // Process all blocks from current to latest. - let get_events = |token: Option| { - self.provider.get_events( - EventFilter { - from_block: Some(BlockId::Number(from)), - to_block: Some(BlockId::Number(to)), - address: Some(self.world.address), - keys: None, - }, - token, - self.config.events_chunk_size, - ) - }; + let mut fetch_all_events_tasks = VecDeque::new(); + + for contract in self.contracts.iter() { + let events_filter = EventFilter { + from_block: Some(BlockId::Number(from)), + to_block: Some(BlockId::Number(to)), + address: Some(*contract.0), + keys: None, + }; + let token_events_pages = + get_all_events(&self.provider, events_filter, self.config.events_chunk_size); + + // Prefer processing world events first + match contract.1 { + ContractType::WORLD => fetch_all_events_tasks.push_front(token_events_pages), + _ => fetch_all_events_tasks.push_back(token_events_pages), + } + } + + let task_result = join_all(fetch_all_events_tasks).await; + + let mut events = vec![]; + + for result in task_result { + let result = result?; + let contract_address = + result.0.expect("EventFilters that we use always have an address"); + let events_pages = result.1; + let last_contract_tx = cursor_map.get(&contract_address).cloned(); + let mut last_contract_tx_tmp = last_contract_tx; - // handle next events pages - let mut events_pages = vec![get_events(None).await?]; + debug!(target: LOG_TARGET, "Total events pages fetched for contract ({:#x}): {}", &contract_address, &events_pages.len()); - while let Some(token) = &events_pages.last().unwrap().continuation_token { - debug!(target: LOG_TARGET, "Fetching events page with continuation token: {}", &token); - events_pages.push(get_events(Some(token.clone())).await?); + for events_page in events_pages { + debug!("Processing events page with events: {}", &events_page.events.len()); + for event in events_page.events { + // Then we skip all transactions until we reach the last pending processed + // transaction (if any) + if let Some(last_contract_tx) = last_contract_tx_tmp { + if event.transaction_hash != last_contract_tx { + continue; + } + + last_contract_tx_tmp = None; + } + + // Skip the latest pending block transaction events + // * as we might have multiple events for the same transaction + if let Some(last_contract_tx) = last_contract_tx { + if event.transaction_hash == last_contract_tx { + continue; + } + } + + events.push(event); + } + } } - debug!(target: LOG_TARGET, "Total events pages fetched: {}", &events_pages.len()); // Transactions & blocks to process - let mut last_block = 0_u64; let mut blocks = BTreeMap::new(); // Flatten events pages and events according to the pending block cursor // to array of (block_number, transaction_hash) - let mut last_pending_block_world_tx_cursor = last_pending_block_world_tx; let mut transactions = LinkedHashMap::new(); - for events_page in events_pages { - debug!("Processing events page with events: {}", &events_page.events.len()); - for event in events_page.events { - let block_number = match event.block_number { - Some(block_number) => block_number, - // If the block number is not present, try to fetch it from the transaction - // receipt Should not/rarely happen. Thus the additional - // fetch is acceptable. - None => { - let TransactionReceiptWithBlockInfo { receipt, block } = - self.provider.get_transaction_receipt(event.transaction_hash).await?; - - match receipt { - TransactionReceipt::Invoke(_) | TransactionReceipt::L1Handler(_) => { - if let ReceiptBlock::Block { block_number, .. } = block { - block_number - } else { - // If the block is pending, we assume the block number is the - // latest + 1 - to + 1 - } - } - _ => to + 1, - } - } - }; - - // Keep track of last block number and fetch block timestamp - if block_number > last_block { - let block_timestamp = self.get_block_timestamp(block_number).await?; - blocks.insert(block_number, block_timestamp); + let mut block_set = HashSet::new(); + for event in events { + let block_number = match event.block_number { + Some(block_number) => block_number, + None => unreachable!("In fetch range all events should have block number"), + }; - last_block = block_number; - } + block_set.insert(block_number); - // Then we skip all transactions until we reach the last pending processed - // transaction (if any) - if let Some(tx) = last_pending_block_world_tx_cursor { - if event.transaction_hash != tx { - continue; - } + transactions + .entry((block_number, event.transaction_hash)) + .or_insert(vec![]) + .push(event); + } - last_pending_block_world_tx_cursor = None; - } + let semaphore = Arc::new(Semaphore::new(self.config.max_concurrent_tasks)); + let mut set: JoinSet> = JoinSet::new(); - // Skip the latest pending block transaction events - // * as we might have multiple events for the same transaction - if let Some(tx) = last_pending_block_world_tx { - if event.transaction_hash == tx { - continue; - } - } + for block_number in block_set { + let semaphore = semaphore.clone(); + let provider = self.provider.clone(); + set.spawn(async move { + let _permit = semaphore.acquire().await.unwrap(); + debug!("Fetching block timestamp for block number: {}", block_number); + let block_timestamp = get_block_timestamp(&provider, block_number).await?; + Ok((block_number, block_timestamp)) + }); + } - transactions - .entry((block_number, event.transaction_hash)) - .or_insert(vec![]) - .push(event); - } + while let Some(result) = set.join_next().await { + let (block_number, block_timestamp) = result??; + blocks.insert(block_number, block_timestamp); } debug!("Transactions: {}", &transactions.len()); @@ -365,14 +457,10 @@ impl Engine

{ pub async fn process(&mut self, fetch_result: FetchDataResult) -> Result<()> { match fetch_result { - FetchDataResult::Range(data) => { - self.process_range(data).await?; - } - FetchDataResult::Pending(data) => { - self.process_pending(data).await?; - } + FetchDataResult::Range(data) => self.process_range(data).await?, + FetchDataResult::Pending(data) => self.process_pending(data).await?, FetchDataResult::None => {} - } + }; Ok(()) } @@ -383,10 +471,10 @@ impl Engine

{ let mut last_pending_block_tx_cursor = data.last_pending_block_tx; let mut last_pending_block_tx = data.last_pending_block_tx; - let mut last_pending_block_world_tx = None; let timestamp = data.pending_block.timestamp; + let mut cursor_map = HashMap::new(); for t in data.pending_block.transactions { let transaction_hash = t.transaction.transaction_hash(); if let Some(tx) = last_pending_block_tx_cursor { @@ -398,67 +486,35 @@ impl Engine

{ continue; } - match self.process_transaction_with_receipt(&t, data.block_number, timestamp).await { - Err(e) => { - match e.to_string().as_str() { - "TransactionHashNotFound" => { - // We failed to fetch the transaction, which is because - // the transaction might not have been processed fast enough by the - // provider. So we can fail silently and try - // again in the next iteration. - warn!(target: LOG_TARGET, transaction_hash = %format!("{:#x}", transaction_hash), "Retrieving pending transaction receipt."); - self.db.set_head(data.block_number - 1); - if let Some(tx) = last_pending_block_tx { - self.db.set_last_pending_block_tx(Some(tx)); - } - - if let Some(tx) = last_pending_block_world_tx { - self.db.set_last_pending_block_world_tx(Some(tx)); - } - self.db.execute().await?; - return Ok(()); - } - _ => { - error!(target: LOG_TARGET, error = %e, transaction_hash = %format!("{:#x}", transaction_hash), "Processing pending transaction."); - return Err(e); - } - } - } - Ok(true) => { - last_pending_block_world_tx = Some(*transaction_hash); - last_pending_block_tx = Some(*transaction_hash); - info!(target: LOG_TARGET, transaction_hash = %format!("{:#x}", transaction_hash), "Processed pending world transaction."); - } - Ok(_) => { - last_pending_block_tx = Some(*transaction_hash); - debug!(target: LOG_TARGET, transaction_hash = %format!("{:#x}", transaction_hash), "Processed pending transaction.") - } + if let Err(e) = self + .process_transaction_with_receipt(&t, data.block_number, timestamp, &mut cursor_map) + .await + { + error!(target: LOG_TARGET, error = %e, transaction_hash = %format!("{:#x}", transaction_hash), "Processing pending transaction."); + return Err(e); } + + last_pending_block_tx = Some(*transaction_hash); + debug!(target: LOG_TARGET, transaction_hash = %format!("{:#x}", transaction_hash), "Processed pending transaction."); } // Process parallelized events self.process_tasks().await?; - // Set the head to the last processed pending transaction - // Head block number should still be latest block number - self.db.set_head(data.block_number - 1); - - if let Some(tx) = last_pending_block_tx { - self.db.set_last_pending_block_tx(Some(tx)); - } - - if let Some(tx) = last_pending_block_world_tx { - self.db.set_last_pending_block_world_tx(Some(tx)); - } - - self.db.execute().await?; + self.db.update_cursors( + data.block_number - 1, + last_pending_block_tx, + cursor_map, + timestamp, + )?; Ok(()) } pub async fn process_range(&mut self, data: FetchRangeResult) -> Result<()> { // Process all transactions - let mut last_block = 0; + let mut processed_blocks = HashSet::new(); + let mut cursor_map = HashMap::new(); for ((block_number, transaction_hash), events) in data.transactions { debug!("Processing transaction hash: {:#x}", transaction_hash); // Process transaction @@ -474,32 +530,28 @@ impl Engine

{ block_number, data.blocks[&block_number], transaction, + &mut cursor_map, ) .await?; // Process block - if block_number > last_block { + if !processed_blocks.contains(&block_number) { if let Some(ref block_tx) = self.block_tx { block_tx.send(block_number).await?; } self.process_block(block_number, data.blocks[&block_number]).await?; - last_block = block_number; - } - - if self.db.query_queue.queue.len() >= QUERY_QUEUE_BATCH_SIZE { - self.db.execute().await?; + processed_blocks.insert(block_number); } } // Process parallelized events self.process_tasks().await?; - self.db.set_head(data.latest_block_number); - self.db.set_last_pending_block_world_tx(None); - self.db.set_last_pending_block_tx(None); + let last_block_timestamp = + get_block_timestamp(&self.provider, data.latest_block_number).await?; - self.db.execute().await?; + self.db.reset_cursors(data.latest_block_number, cursor_map, last_block_timestamp)?; Ok(()) } @@ -509,18 +561,22 @@ impl Engine

{ let semaphore = Arc::new(Semaphore::new(self.config.max_concurrent_tasks)); // Run all tasks concurrently - let mut set = JoinSet::new(); + let mut handles = Vec::new(); for (task_id, events) in self.tasks.drain() { let db = self.db.clone(); let world = self.world.clone(); - let processors = self.processors.clone(); let semaphore = semaphore.clone(); + let processors = self.processors.clone(); - set.spawn(async move { - let _permit = semaphore.acquire().await.unwrap(); + handles.push(tokio::spawn(async move { + let _permit = semaphore.acquire().await?; let mut local_db = db.clone(); - for ParallelizedEvent { event_id, event, block_number, block_timestamp } in events { - if let Some(processor) = processors.event.get(&event.keys[0]) { + for (contract_type, ParallelizedEvent { event_id, event, block_number, block_timestamp }) in events { + let contract_processors = processors.get_event_processor(contract_type); + if let Some(processors) = contract_processors.get(&event.keys[0]) { + + let processor = processors.iter().find(|p| p.validate(&event)).expect("Must find atleast one processor for the event"); + debug!(target: LOG_TARGET, event_name = processor.event_key(), task_id = %task_id, "Processing parallelized event."); if let Err(e) = processor @@ -531,26 +587,17 @@ impl Engine

{ } } } - Ok::<_, anyhow::Error>(local_db) - }); + + Ok::<_, anyhow::Error>(()) + })); } // Join all tasks - while let Some(result) = set.join_next().await { - let local_db = result??; - self.db.merge(local_db)?; - } + try_join_all(handles).await?; Ok(()) } - async fn get_block_timestamp(&self, block_number: u64) -> Result { - match self.provider.get_block_with_tx_hashes(BlockId::Number(block_number)).await? { - MaybePendingBlockWithTxHashes::Block(block) => Ok(block.timestamp), - MaybePendingBlockWithTxHashes::PendingBlock(block) => Ok(block.timestamp), - } - } - async fn process_transaction_with_events( &mut self, transaction_hash: Felt, @@ -558,8 +605,13 @@ impl Engine

{ block_number: u64, block_timestamp: u64, transaction: Option, + cursor_map: &mut HashMap, ) -> Result<()> { + let mut unique_contracts = HashSet::new(); + // Contract -> Cursor for (event_idx, event) in events.iter().enumerate() { + // NOTE: erc* processors expect the event_id to be in this format to get + // transaction_hash: let event_id = format!("{:#064x}:{:#x}:{:#04x}", block_number, transaction_hash, event_idx); @@ -568,6 +620,13 @@ impl Engine

{ keys: event.keys.clone(), data: event.data.clone(), }; + + let Some(&contract_type) = self.contracts.get(&event.from_address) else { + continue; + }; + + unique_contracts.insert(event.from_address); + Self::process_event( self, block_number, @@ -575,10 +634,16 @@ impl Engine

{ &event_id, &event, transaction_hash, + contract_type, ) .await?; } + for contract in unique_contracts { + let entry = cursor_map.entry(contract).or_insert((transaction_hash, 0)); + entry.1 += 1; + } + if let Some(ref transaction) = transaction { Self::process_transaction( self, @@ -600,7 +665,8 @@ impl Engine

{ transaction_with_receipt: &TransactionWithReceipt, block_number: u64, block_timestamp: u64, - ) -> Result { + cursor_map: &mut HashMap, + ) -> Result<()> { let transaction_hash = transaction_with_receipt.transaction.transaction_hash(); let events = match &transaction_with_receipt.receipt { TransactionReceipt::Invoke(receipt) => Some(&receipt.events), @@ -608,14 +674,17 @@ impl Engine

{ _ => None, }; - let mut world_event = false; + let mut unique_contracts = HashSet::new(); if let Some(events) = events { for (event_idx, event) in events.iter().enumerate() { - if event.from_address != self.world.address { + let Some(&contract_type) = self.contracts.get(&event.from_address) else { continue; - } + }; - world_event = true; + unique_contracts.insert(event.from_address); + + // NOTE: erc* processors expect the event_id to be in this format to get + // transaction_hash: let event_id = format!("{:#064x}:{:#x}:{:#04x}", block_number, *transaction_hash, event_idx); @@ -626,11 +695,12 @@ impl Engine

{ &event_id, event, *transaction_hash, + contract_type, ) .await?; } - if world_event && self.config.flags.contains(IndexingFlags::TRANSACTIONS) { + if self.config.flags.contains(IndexingFlags::TRANSACTIONS) { Self::process_transaction( self, block_number, @@ -642,7 +712,12 @@ impl Engine

{ } } - Ok(world_event) + for contract in unique_contracts { + let entry = cursor_map.entry(contract).or_insert((*transaction_hash, 0)); + entry.1 += 1; + } + + Ok(()) } async fn process_block(&mut self, block_number: u64, block_timestamp: u64) -> Result<()> { @@ -686,14 +761,23 @@ impl Engine

{ event_id: &str, event: &Event, transaction_hash: Felt, + contract_type: ContractType, ) -> Result<()> { if self.config.flags.contains(IndexingFlags::RAW_EVENTS) { - self.db.store_event(event_id, event, transaction_hash, block_timestamp); + match contract_type { + ContractType::WORLD => { + self.db.store_event(event_id, event, transaction_hash, block_timestamp)?; + } + // ERC events needs to be processed inside there respective processor + // we store transfer events for ERC contracts regardless of this flag + ContractType::ERC20 | ContractType::ERC721 => {} + } } let event_key = event.keys[0]; - let Some(processor) = self.processors.event.get(&event_key) else { + let processors = self.processors.get_event_processor(contract_type); + let Some(processors) = processors.get(&event_key) else { // if we dont have a processor for this event, we try the catch all processor if self.processors.catch_all_event.validate(event) { if let Err(e) = self @@ -728,6 +812,11 @@ impl Engine

{ return Ok(()); }; + let processor = processors + .iter() + .find(|p| p.validate(event)) + .expect("Must find atleast one processor for the event"); + let task_identifier = match processor.event_key().as_str() { "StoreSetRecord" | "StoreUpdateRecord" | "StoreUpdateMember" | "StoreDelRecord" => { let mut hasher = DefaultHasher::new(); @@ -740,22 +829,82 @@ impl Engine

{ // if we have a task identifier, we queue the event to be parallelized if task_identifier != 0 { - self.tasks.entry(task_identifier).or_default().push(ParallelizedEvent { - event_id: event_id.to_string(), - event: event.clone(), - block_number, - block_timestamp, - }); + self.tasks.entry(task_identifier).or_default().push(( + contract_type, + ParallelizedEvent { + event_id: event_id.to_string(), + event: event.clone(), + block_number, + block_timestamp, + }, + )); } else { // if we dont have a task identifier, we process the event immediately - if let Err(e) = processor - .process(&self.world, &mut self.db, block_number, block_timestamp, event_id, event) - .await - { - error!(target: LOG_TARGET, event_name = processor.event_key(), error = %e, "Processing event."); + if processor.validate(event) { + if let Err(e) = processor + .process( + &self.world, + &mut self.db, + block_number, + block_timestamp, + event_id, + event, + ) + .await + { + error!(target: LOG_TARGET, event_name = processor.event_key(), error = ?e, "Processing event."); + } + } else { + warn!(target: LOG_TARGET, event_name = processor.event_key(), "Event not validated."); } } Ok(()) } } + +async fn get_all_events

( + provider: &P, + events_filter: EventFilter, + events_chunk_size: u64, +) -> Result<(Option, Vec)> +where + P: Provider + Sync, +{ + let mut events_pages = Vec::new(); + let mut continuation_token = None; + + loop { + debug!( + "Fetching events page with continuation token: {:?}, for contract: {:?}", + continuation_token, events_filter.address + ); + let events_page = provider + .get_events(events_filter.clone(), continuation_token.clone(), events_chunk_size) + .await?; + + continuation_token = events_page.continuation_token.clone(); + events_pages.push(events_page); + + if continuation_token.is_none() { + break; + } + } + + Ok((events_filter.address, events_pages)) +} + +async fn get_block_timestamp

(provider: &P, block_number: u64) -> Result +where + P: Provider + Sync, +{ + match provider.get_block_with_tx_hashes(BlockId::Number(block_number)).await? { + MaybePendingBlockWithTxHashes::Block(block) => Ok(block.timestamp), + MaybePendingBlockWithTxHashes::PendingBlock(block) => Ok(block.timestamp), + } +} + +// event_id format: block_number:transaction_hash:event_idx +pub fn get_transaction_hash_from_event_id(event_id: &str) -> String { + event_id.split(':').nth(1).unwrap().to_string() +} diff --git a/crates/torii/core/src/executor.rs b/crates/torii/core/src/executor.rs new file mode 100644 index 0000000000..04d64676b9 --- /dev/null +++ b/crates/torii/core/src/executor.rs @@ -0,0 +1,614 @@ +use std::collections::HashMap; +use std::mem; +use std::str::FromStr; + +use anyhow::{Context, Result}; +use dojo_types::schema::{Struct, Ty}; +use sqlx::query::Query; +use sqlx::sqlite::SqliteArguments; +use sqlx::{FromRow, Pool, Sqlite, Transaction}; +use starknet::core::types::{Felt, U256}; +use tokio::sync::broadcast::{Receiver, Sender}; +use tokio::sync::mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}; +use tokio::sync::oneshot; +use tokio::time::Instant; +use tracing::{debug, error}; + +use crate::simple_broker::SimpleBroker; +use crate::sql::utils::{felt_to_sql_string, sql_string_to_u256, u256_to_sql_string, I256}; +use crate::sql::FELT_DELIMITER; +use crate::types::{ + ContractCursor, ContractType, Entity as EntityUpdated, Event as EventEmitted, + EventMessage as EventMessageUpdated, Model as ModelRegistered, OptimisticEntity, + OptimisticEventMessage, +}; + +pub(crate) const LOG_TARGET: &str = "torii_core::executor"; + +#[derive(Debug, Clone)] +pub enum Argument { + Null, + Int(i64), + Bool(bool), + String(String), + FieldElement(Felt), +} + +#[derive(Debug, Clone)] +pub enum BrokerMessage { + SetHead(ContractCursor), + ModelRegistered(ModelRegistered), + EntityUpdated(EntityUpdated), + EventMessageUpdated(EventMessageUpdated), + EventEmitted(EventEmitted), +} + +#[derive(Debug, Clone)] +pub struct DeleteEntityQuery { + pub entity_id: String, + pub event_id: String, + pub block_timestamp: String, + pub ty: Ty, +} + +#[derive(Debug, Clone)] +pub struct ApplyBalanceDiffQuery { + pub erc_cache: HashMap<(ContractType, String), I256>, +} + +#[derive(Debug, Clone)] +pub struct SetHeadQuery { + pub head: u64, + pub last_block_timestamp: u64, + pub txns_count: u64, + pub contract_address: Felt, +} + +#[derive(Debug, Clone)] +pub struct ResetCursorsQuery { + // contract => (last_txn, txn_count) + pub cursor_map: HashMap, + pub last_block_timestamp: u64, + pub last_block_number: u64, +} + +#[derive(Debug, Clone)] +pub struct UpdateCursorsQuery { + // contract => (last_txn, txn_count) + pub cursor_map: HashMap, + pub last_block_number: u64, + pub last_pending_block_tx: Option, + pub pending_block_timestamp: u64, +} + +#[derive(Debug, Clone)] +pub enum QueryType { + SetHead(SetHeadQuery), + ResetCursors(ResetCursorsQuery), + UpdateCursors(UpdateCursorsQuery), + SetEntity(Ty), + DeleteEntity(DeleteEntityQuery), + EventMessage(Ty), + ApplyBalanceDiff(ApplyBalanceDiffQuery), + RegisterModel, + StoreEvent, + Execute, + Other, +} + +#[derive(Debug)] +pub struct Executor<'c> { + // Queries should use `transaction` instead of `pool` + // This `pool` is only used to create a new `transaction` + pool: Pool, + transaction: Transaction<'c, Sqlite>, + publish_queue: Vec, + rx: UnboundedReceiver, + shutdown_rx: Receiver<()>, +} + +#[derive(Debug)] +pub struct QueryMessage { + pub statement: String, + pub arguments: Vec, + pub query_type: QueryType, + tx: Option>>, +} + +impl QueryMessage { + pub fn new(statement: String, arguments: Vec, query_type: QueryType) -> Self { + Self { statement, arguments, query_type, tx: None } + } + + pub fn new_recv( + statement: String, + arguments: Vec, + query_type: QueryType, + ) -> (Self, oneshot::Receiver>) { + let (tx, rx) = oneshot::channel(); + (Self { statement, arguments, query_type, tx: Some(tx) }, rx) + } + + pub fn other(statement: String, arguments: Vec) -> Self { + Self { statement, arguments, query_type: QueryType::Other, tx: None } + } + + pub fn other_recv( + statement: String, + arguments: Vec, + ) -> (Self, oneshot::Receiver>) { + let (tx, rx) = oneshot::channel(); + (Self { statement, arguments, query_type: QueryType::Other, tx: Some(tx) }, rx) + } + + pub fn execute() -> Self { + Self { + statement: "".to_string(), + arguments: vec![], + query_type: QueryType::Execute, + tx: None, + } + } + + pub fn execute_recv() -> (Self, oneshot::Receiver>) { + let (tx, rx) = oneshot::channel(); + ( + Self { + statement: "".to_string(), + arguments: vec![], + query_type: QueryType::Execute, + tx: Some(tx), + }, + rx, + ) + } +} + +impl<'c> Executor<'c> { + pub async fn new( + pool: Pool, + shutdown_tx: Sender<()>, + ) -> Result<(Self, UnboundedSender)> { + let (tx, rx) = unbounded_channel(); + let transaction = pool.begin().await?; + let publish_queue = Vec::new(); + let shutdown_rx = shutdown_tx.subscribe(); + + Ok((Executor { pool, transaction, publish_queue, rx, shutdown_rx }, tx)) + } + + pub async fn run(&mut self) -> Result<()> { + loop { + tokio::select! { + _ = self.shutdown_rx.recv() => { + debug!(target: LOG_TARGET, "Shutting down executor"); + break Ok(()); + } + Some(msg) = self.rx.recv() => { + let QueryMessage { statement, arguments, query_type, tx } = msg; + let mut query = sqlx::query(&statement); + + for arg in &arguments { + query = match arg { + Argument::Null => query.bind(None::), + Argument::Int(integer) => query.bind(integer), + Argument::Bool(bool) => query.bind(bool), + Argument::String(string) => query.bind(string), + Argument::FieldElement(felt) => query.bind(format!("{:#x}", felt)), + } + } + + match self.handle_query_type(query, query_type.clone(), &statement, &arguments, tx).await { + Ok(()) => {}, + Err(e) => { + error!(target: LOG_TARGET, r#type = ?query_type, error = %e, "Failed to execute query."); + } + } + } + } + } + } + + async fn handle_query_type<'a>( + &mut self, + query: Query<'a, Sqlite, SqliteArguments<'a>>, + query_type: QueryType, + statement: &str, + arguments: &[Argument], + sender: Option>>, + ) -> Result<()> { + let tx = &mut self.transaction; + + match query_type { + QueryType::SetHead(set_head) => { + let previous_block_timestamp: u64 = sqlx::query_scalar::<_, i64>( + "SELECT last_block_timestamp FROM contracts WHERE id = ?", + ) + .bind(format!("{:#x}", set_head.contract_address)) + .fetch_one(&mut **tx) + .await? + .try_into() + .map_err(|_| anyhow::anyhow!("Last block timestamp doesn't fit in u64"))?; + + let tps: u64 = if set_head.last_block_timestamp - previous_block_timestamp != 0 { + set_head.txns_count / (set_head.last_block_timestamp - previous_block_timestamp) + } else { + set_head.txns_count + }; + + query.execute(&mut **tx).await.with_context(|| { + format!("Failed to execute query: {:?}, args: {:?}", statement, arguments) + })?; + + let row = sqlx::query("UPDATE contracts SET tps = ? WHERE id = ? RETURNING *") + .bind(tps as i64) + .bind(format!("{:#x}", set_head.contract_address)) + .fetch_one(&mut **tx) + .await?; + + let contract = ContractCursor::from_row(&row)?; + self.publish_queue.push(BrokerMessage::SetHead(contract)); + } + QueryType::ResetCursors(reset_heads) => { + // Read all cursors from db + let mut cursors: Vec = + sqlx::query_as("SELECT * FROM contracts").fetch_all(&mut **tx).await?; + + let new_head = + reset_heads.last_block_number.try_into().expect("doesn't fit in i64"); + let new_timestamp = reset_heads.last_block_timestamp; + + for cursor in &mut cursors { + if let Some(new_cursor) = reset_heads + .cursor_map + .get(&Felt::from_str(&cursor.contract_address).unwrap()) + { + let cursor_timestamp: u64 = + cursor.last_block_timestamp.try_into().expect("doesn't fit in i64"); + + let new_tps = if new_timestamp - cursor_timestamp != 0 { + new_cursor.1 / (new_timestamp - cursor_timestamp) + } else { + new_cursor.1 + }; + + cursor.tps = new_tps.try_into().expect("does't fit in i64"); + } else { + cursor.tps = 0; + } + + cursor.head = new_head; + cursor.last_block_timestamp = + new_timestamp.try_into().expect("doesnt fit in i64"); + cursor.last_pending_block_tx = None; + cursor.last_pending_block_contract_tx = None; + + sqlx::query( + "UPDATE contracts SET head = ?, last_block_timestamp = ?, \ + last_pending_block_tx = ?, last_pending_block_contract_tx = ? WHERE id = \ + ?", + ) + .bind(cursor.head) + .bind(cursor.last_block_timestamp) + .bind(&cursor.last_pending_block_tx) + .bind(&cursor.last_pending_block_contract_tx) + .bind(&cursor.contract_address) + .execute(&mut **tx) + .await?; + + // Send appropriate ContractUpdated publish message + self.publish_queue.push(BrokerMessage::SetHead(cursor.clone())); + } + } + QueryType::UpdateCursors(update_cursors) => { + // Read all cursors from db + let mut cursors: Vec = + sqlx::query_as("SELECT * FROM contracts").fetch_all(&mut **tx).await?; + + let new_head = + update_cursors.last_block_number.try_into().expect("doesn't fit in i64"); + let new_timestamp = update_cursors.pending_block_timestamp; + + for cursor in &mut cursors { + if let Some(new_cursor) = update_cursors + .cursor_map + .get(&Felt::from_str(&cursor.contract_address).unwrap()) + { + let cursor_timestamp: u64 = + cursor.last_block_timestamp.try_into().expect("doesn't fit in i64"); + + let num_transactions = new_cursor.1; + + let new_tps = if new_timestamp - cursor_timestamp != 0 { + num_transactions / (new_timestamp - cursor_timestamp) + } else { + num_transactions + }; + + cursor.last_pending_block_contract_tx = + Some(felt_to_sql_string(&new_cursor.0)); + cursor.tps = new_tps.try_into().expect("does't fit in i64"); + } else { + cursor.tps = 0; + } + cursor.last_block_timestamp = update_cursors + .pending_block_timestamp + .try_into() + .expect("doesn't fit in i64"); + cursor.head = new_head; + cursor.last_pending_block_tx = + update_cursors.last_pending_block_tx.map(|felt| felt_to_sql_string(&felt)); + + sqlx::query( + "UPDATE contracts SET head = ?, last_block_timestamp = ?, \ + last_pending_block_tx = ?, last_pending_block_contract_tx = ? WHERE id = \ + ?", + ) + .bind(cursor.head) + .bind(cursor.last_block_timestamp) + .bind(&cursor.last_pending_block_tx) + .bind(&cursor.last_pending_block_contract_tx) + .bind(&cursor.contract_address) + .execute(&mut **tx) + .await?; + + // Send appropriate ContractUpdated publish message + self.publish_queue.push(BrokerMessage::SetHead(cursor.clone())); + } + } + QueryType::SetEntity(entity) => { + let row = query.fetch_one(&mut **tx).await.with_context(|| { + format!("Failed to execute query: {:?}, args: {:?}", statement, arguments) + })?; + let mut entity_updated = EntityUpdated::from_row(&row)?; + entity_updated.updated_model = Some(entity); + entity_updated.deleted = false; + + let optimistic_entity = OptimisticEntity { + id: entity_updated.id.clone(), + keys: entity_updated.keys.clone(), + event_id: entity_updated.event_id.clone(), + executed_at: entity_updated.executed_at, + created_at: entity_updated.created_at, + updated_at: entity_updated.updated_at, + updated_model: entity_updated.updated_model.clone(), + deleted: entity_updated.deleted, + }; + SimpleBroker::publish(optimistic_entity); + + let broker_message = BrokerMessage::EntityUpdated(entity_updated); + self.publish_queue.push(broker_message); + } + QueryType::DeleteEntity(entity) => { + let delete_model = query.execute(&mut **tx).await.with_context(|| { + format!("Failed to execute query: {:?}, args: {:?}", statement, arguments) + })?; + if delete_model.rows_affected() == 0 { + return Ok(()); + } + + let row = sqlx::query( + "UPDATE entities SET updated_at=CURRENT_TIMESTAMP, executed_at=?, event_id=? \ + WHERE id = ? RETURNING *", + ) + .bind(entity.block_timestamp) + .bind(entity.event_id) + .bind(entity.entity_id) + .fetch_one(&mut **tx) + .await?; + let mut entity_updated = EntityUpdated::from_row(&row)?; + entity_updated.updated_model = + Some(Ty::Struct(Struct { name: entity.ty.name(), children: vec![] })); + + let count = sqlx::query_scalar::<_, i64>( + "SELECT count(*) FROM entity_model WHERE entity_id = ?", + ) + .bind(entity_updated.id.clone()) + .fetch_one(&mut **tx) + .await?; + + // Delete entity if all of its models are deleted + if count == 0 { + sqlx::query("DELETE FROM entities WHERE id = ?") + .bind(entity_updated.id.clone()) + .execute(&mut **tx) + .await?; + entity_updated.deleted = true; + } + + let optimistic_entity = OptimisticEntity { + id: entity_updated.id.clone(), + keys: entity_updated.keys.clone(), + event_id: entity_updated.event_id.clone(), + executed_at: entity_updated.executed_at, + created_at: entity_updated.created_at, + updated_at: entity_updated.updated_at, + updated_model: entity_updated.updated_model.clone(), + deleted: entity_updated.deleted, + }; + SimpleBroker::publish(optimistic_entity); + let broker_message = BrokerMessage::EntityUpdated(entity_updated); + self.publish_queue.push(broker_message); + } + QueryType::RegisterModel => { + let row = query.fetch_one(&mut **tx).await.with_context(|| { + format!("Failed to execute query: {:?}, args: {:?}", statement, arguments) + })?; + let model_registered = ModelRegistered::from_row(&row)?; + self.publish_queue.push(BrokerMessage::ModelRegistered(model_registered)); + } + QueryType::EventMessage(entity) => { + let row = query.fetch_one(&mut **tx).await.with_context(|| { + format!("Failed to execute query: {:?}, args: {:?}", statement, arguments) + })?; + let mut event_message = EventMessageUpdated::from_row(&row)?; + event_message.updated_model = Some(entity); + + let optimistic_event_message = OptimisticEventMessage { + id: event_message.id.clone(), + keys: event_message.keys.clone(), + event_id: event_message.event_id.clone(), + executed_at: event_message.executed_at, + created_at: event_message.created_at, + updated_at: event_message.updated_at, + updated_model: event_message.updated_model.clone(), + }; + SimpleBroker::publish(optimistic_event_message); + + let broker_message = BrokerMessage::EventMessageUpdated(event_message); + self.publish_queue.push(broker_message); + } + QueryType::StoreEvent => { + let row = query.fetch_one(&mut **tx).await.with_context(|| { + format!("Failed to execute query: {:?}, args: {:?}", statement, arguments) + })?; + let event = EventEmitted::from_row(&row)?; + self.publish_queue.push(BrokerMessage::EventEmitted(event)); + } + QueryType::ApplyBalanceDiff(apply_balance_diff) => { + debug!(target: LOG_TARGET, "Applying balance diff."); + let instant = Instant::now(); + self.apply_balance_diff(apply_balance_diff).await?; + debug!(target: LOG_TARGET, duration = ?instant.elapsed(), "Applied balance diff."); + } + QueryType::Execute => { + debug!(target: LOG_TARGET, "Executing query."); + let instant = Instant::now(); + let res = self.execute().await; + debug!(target: LOG_TARGET, duration = ?instant.elapsed(), "Executed query."); + + if let Some(sender) = sender { + sender + .send(res) + .map_err(|_| anyhow::anyhow!("Failed to send execute result"))?; + } else { + res?; + } + } + QueryType::Other => { + query.execute(&mut **tx).await.with_context(|| { + format!("Failed to execute query: {:?}, args: {:?}", statement, arguments) + })?; + } + } + + Ok(()) + } + + async fn execute(&mut self) -> Result<()> { + let transaction = mem::replace(&mut self.transaction, self.pool.begin().await?); + transaction.commit().await?; + + for message in self.publish_queue.drain(..) { + send_broker_message(message); + } + + Ok(()) + } + + async fn apply_balance_diff( + &mut self, + apply_balance_diff: ApplyBalanceDiffQuery, + ) -> Result<()> { + let erc_cache = apply_balance_diff.erc_cache; + for ((contract_type, id_str), balance) in erc_cache.iter() { + let id = id_str.split(FELT_DELIMITER).collect::>(); + match contract_type { + ContractType::WORLD => unreachable!(), + ContractType::ERC721 => { + // account_address/contract_address:id => ERC721 + assert!(id.len() == 2); + let account_address = id[0]; + let token_id = id[1]; + let mid = token_id.split(":").collect::>(); + let contract_address = mid[0]; + + self.apply_balance_diff_helper( + id_str, + account_address, + contract_address, + token_id, + balance, + ) + .await + .with_context(|| "Failed to apply balance diff in apply_cache_diff")?; + } + ContractType::ERC20 => { + // account_address/contract_address/ => ERC20 + assert!(id.len() == 3); + let account_address = id[0]; + let contract_address = id[1]; + let token_id = id[1]; + + self.apply_balance_diff_helper( + id_str, + account_address, + contract_address, + token_id, + balance, + ) + .await + .with_context(|| "Failed to apply balance diff in apply_cache_diff")?; + } + } + } + + Ok(()) + } + + async fn apply_balance_diff_helper( + &mut self, + id: &str, + account_address: &str, + contract_address: &str, + token_id: &str, + balance_diff: &I256, + ) -> Result<()> { + let tx = &mut self.transaction; + let balance: Option<(String,)> = + sqlx::query_as("SELECT balance FROM balances WHERE id = ?") + .bind(id) + .fetch_optional(&mut **tx) + .await?; + + let mut balance = if let Some(balance) = balance { + sql_string_to_u256(&balance.0) + } else { + U256::from(0u8) + }; + + if balance_diff.is_negative { + if balance < balance_diff.value { + dbg!(&balance_diff, balance, id); + } + balance -= balance_diff.value; + } else { + balance += balance_diff.value; + } + + // write the new balance to the database + sqlx::query( + "INSERT OR REPLACE INTO balances (id, contract_address, account_address, token_id, \ + balance) VALUES (?, ?, ?, ?, ?)", + ) + .bind(id) + .bind(contract_address) + .bind(account_address) + .bind(token_id) + .bind(u256_to_sql_string(&balance)) + .execute(&mut **tx) + .await?; + + Ok(()) + } +} + +fn send_broker_message(message: BrokerMessage) { + match message { + BrokerMessage::SetHead(update) => SimpleBroker::publish(update), + BrokerMessage::ModelRegistered(model) => SimpleBroker::publish(model), + BrokerMessage::EntityUpdated(entity) => SimpleBroker::publish(entity), + BrokerMessage::EventMessageUpdated(event) => SimpleBroker::publish(event), + BrokerMessage::EventEmitted(event) => SimpleBroker::publish(event), + } +} diff --git a/crates/torii/core/src/lib.rs b/crates/torii/core/src/lib.rs index df6e8b3adc..0615f98b4e 100644 --- a/crates/torii/core/src/lib.rs +++ b/crates/torii/core/src/lib.rs @@ -1,9 +1,10 @@ -pub mod cache; +#![warn(unused_crate_dependencies)] + pub mod engine; pub mod error; +pub mod executor; pub mod model; pub mod processors; -pub mod query_queue; pub mod simple_broker; pub mod sql; pub mod types; diff --git a/crates/torii/core/src/processors/erc20_legacy_transfer.rs b/crates/torii/core/src/processors/erc20_legacy_transfer.rs new file mode 100644 index 0000000000..bf4fd33e49 --- /dev/null +++ b/crates/torii/core/src/processors/erc20_legacy_transfer.rs @@ -0,0 +1,67 @@ +use anyhow::Error; +use async_trait::async_trait; +use cainome::cairo_serde::{CairoSerde, U256 as U256Cainome}; +use dojo_world::contracts::world::WorldContractReader; +use starknet::core::types::{Event, U256}; +use starknet::providers::Provider; +use tracing::debug; + +use super::EventProcessor; +use crate::sql::Sql; + +pub(crate) const LOG_TARGET: &str = "torii_core::processors::erc20_legacy_transfer"; + +#[derive(Default, Debug)] +pub struct Erc20LegacyTransferProcessor; + +#[async_trait] +impl

EventProcessor

for Erc20LegacyTransferProcessor +where + P: Provider + Send + Sync + std::fmt::Debug, +{ + fn event_key(&self) -> String { + "Transfer".to_string() + } + + fn validate(&self, event: &Event) -> bool { + // ref: https://github.com/OpenZeppelin/cairo-contracts/blob/1f9359219a92cdb1576f953db71ee993b8ef5f70/src/openzeppelin/token/erc20/library.cairo#L19-L21 + // key: [hash(Transfer)] + // data: [from, to, value.0, value.1] + if event.keys.len() == 1 && event.data.len() == 4 { + return true; + } + + false + } + + async fn process( + &self, + world: &WorldContractReader

, + db: &mut Sql, + _block_number: u64, + block_timestamp: u64, + event_id: &str, + event: &Event, + ) -> Result<(), Error> { + let token_address = event.from_address; + let from = event.data[0]; + let to = event.data[1]; + + let value = U256Cainome::cairo_deserialize(&event.data, 2)?; + let value = U256::from_words(value.low, value.high); + + db.handle_erc20_transfer( + token_address, + from, + to, + value, + world.provider(), + block_timestamp, + event_id, + ) + .await?; + debug!(target: LOG_TARGET,from = ?from, to = ?to, value = ?value, "Legacy ERC20 Transfer"); + + Ok(()) + } +} diff --git a/crates/torii/core/src/processors/erc20_transfer.rs b/crates/torii/core/src/processors/erc20_transfer.rs new file mode 100644 index 0000000000..7ed1620503 --- /dev/null +++ b/crates/torii/core/src/processors/erc20_transfer.rs @@ -0,0 +1,67 @@ +use anyhow::Error; +use async_trait::async_trait; +use cainome::cairo_serde::{CairoSerde, U256 as U256Cainome}; +use dojo_world::contracts::world::WorldContractReader; +use starknet::core::types::{Event, U256}; +use starknet::providers::Provider; +use tracing::debug; + +use super::EventProcessor; +use crate::sql::Sql; + +pub(crate) const LOG_TARGET: &str = "torii_core::processors::erc20_transfer"; + +#[derive(Default, Debug)] +pub struct Erc20TransferProcessor; + +#[async_trait] +impl

EventProcessor

for Erc20TransferProcessor +where + P: Provider + Send + Sync + std::fmt::Debug, +{ + fn event_key(&self) -> String { + "Transfer".to_string() + } + + fn validate(&self, event: &Event) -> bool { + // ref: https://github.com/OpenZeppelin/cairo-contracts/blob/ba00ce76a93dcf25c081ab2698da20690b5a1cfb/packages/token/src/erc20/erc20.cairo#L38-L46 + // key: [hash(Transfer), from, to] + // data: [value.0, value.1] + if event.keys.len() == 3 && event.data.len() == 2 { + return true; + } + + false + } + + async fn process( + &self, + world: &WorldContractReader

, + db: &mut Sql, + _block_number: u64, + block_timestamp: u64, + event_id: &str, + event: &Event, + ) -> Result<(), Error> { + let token_address = event.from_address; + let from = event.keys[1]; + let to = event.keys[2]; + + let value = U256Cainome::cairo_deserialize(&event.data, 0)?; + let value = U256::from_words(value.low, value.high); + + db.handle_erc20_transfer( + token_address, + from, + to, + value, + world.provider(), + block_timestamp, + event_id, + ) + .await?; + debug!(target: LOG_TARGET,from = ?from, to = ?to, value = ?value, "ERC20 Transfer"); + + Ok(()) + } +} diff --git a/crates/torii/core/src/processors/erc721_legacy_transfer.rs b/crates/torii/core/src/processors/erc721_legacy_transfer.rs new file mode 100644 index 0000000000..198a1ebbd9 --- /dev/null +++ b/crates/torii/core/src/processors/erc721_legacy_transfer.rs @@ -0,0 +1,67 @@ +use anyhow::Error; +use async_trait::async_trait; +use cainome::cairo_serde::{CairoSerde, U256 as U256Cainome}; +use dojo_world::contracts::world::WorldContractReader; +use starknet::core::types::{Event, U256}; +use starknet::providers::Provider; +use tracing::debug; + +use super::EventProcessor; +use crate::sql::Sql; + +pub(crate) const LOG_TARGET: &str = "torii_core::processors::erc721_legacy_transfer"; + +#[derive(Default, Debug)] +pub struct Erc721LegacyTransferProcessor; + +#[async_trait] +impl

EventProcessor

for Erc721LegacyTransferProcessor +where + P: Provider + Send + Sync + std::fmt::Debug, +{ + fn event_key(&self) -> String { + "Transfer".to_string() + } + + fn validate(&self, event: &Event) -> bool { + // ref: https://github.com/OpenZeppelin/cairo-contracts/blob/1f9359219a92cdb1576f953db71ee993b8ef5f70/src/openzeppelin/token/erc721/library.cairo#L27-L29 + // key: [hash(Transfer)] + // data: [from, to, token_id.0, token_id.1] + if event.keys.len() == 1 && event.data.len() == 4 { + return true; + } + + false + } + + async fn process( + &self, + world: &WorldContractReader

, + db: &mut Sql, + _block_number: u64, + block_timestamp: u64, + event_id: &str, + event: &Event, + ) -> Result<(), Error> { + let token_address = event.from_address; + let from = event.data[0]; + let to = event.data[1]; + + let token_id = U256Cainome::cairo_deserialize(&event.data, 2)?; + let token_id = U256::from_words(token_id.low, token_id.high); + + db.handle_erc721_transfer( + token_address, + from, + to, + token_id, + world.provider(), + block_timestamp, + event_id, + ) + .await?; + debug!(target: LOG_TARGET, from = ?from, to = ?to, token_id = ?token_id, "ERC721 Transfer"); + + Ok(()) + } +} diff --git a/crates/torii/core/src/processors/erc721_transfer.rs b/crates/torii/core/src/processors/erc721_transfer.rs new file mode 100644 index 0000000000..349bdbea24 --- /dev/null +++ b/crates/torii/core/src/processors/erc721_transfer.rs @@ -0,0 +1,67 @@ +use anyhow::Error; +use async_trait::async_trait; +use cainome::cairo_serde::{CairoSerde, U256 as U256Cainome}; +use dojo_world::contracts::world::WorldContractReader; +use starknet::core::types::{Event, U256}; +use starknet::providers::Provider; +use tracing::debug; + +use super::EventProcessor; +use crate::sql::Sql; + +pub(crate) const LOG_TARGET: &str = "torii_core::processors::erc721_transfer"; + +#[derive(Default, Debug)] +pub struct Erc721TransferProcessor; + +#[async_trait] +impl

EventProcessor

for Erc721TransferProcessor +where + P: Provider + Send + Sync + std::fmt::Debug, +{ + fn event_key(&self) -> String { + "Transfer".to_string() + } + + fn validate(&self, event: &Event) -> bool { + // ref: https://github.com/OpenZeppelin/cairo-contracts/blob/ba00ce76a93dcf25c081ab2698da20690b5a1cfb/packages/token/src/erc721/erc721.cairo#L40-L49 + // key: [hash(Transfer), from, to, token_id.low, token_id.high] + // data: [] + if event.keys.len() == 5 && event.data.is_empty() { + return true; + } + + false + } + + async fn process( + &self, + world: &WorldContractReader

, + db: &mut Sql, + _block_number: u64, + block_timestamp: u64, + event_id: &str, + event: &Event, + ) -> Result<(), Error> { + let token_address = event.from_address; + let from = event.keys[1]; + let to = event.keys[2]; + + let token_id = U256Cainome::cairo_deserialize(&event.keys, 3)?; + let token_id = U256::from_words(token_id.low, token_id.high); + + db.handle_erc721_transfer( + token_address, + from, + to, + token_id, + world.provider(), + block_timestamp, + event_id, + ) + .await?; + debug!(target: LOG_TARGET, from = ?from, to = ?to, token_id = ?token_id, "ERC721 Transfer"); + + Ok(()) + } +} diff --git a/crates/torii/core/src/processors/metadata_update.rs b/crates/torii/core/src/processors/metadata_update.rs index 594a32898a..4b17858d89 100644 --- a/crates/torii/core/src/processors/metadata_update.rs +++ b/crates/torii/core/src/processors/metadata_update.rs @@ -64,7 +64,7 @@ where uri = %uri_str, "Resource metadata set." ); - db.set_metadata(resource, &uri_str, block_timestamp); + db.set_metadata(resource, &uri_str, block_timestamp)?; let db = db.clone(); let resource = *resource; @@ -83,9 +83,7 @@ where async fn try_retrieve(mut db: Sql, resource: Felt, uri_str: String) { match metadata(uri_str.clone()).await { Ok((metadata, icon_img, cover_img)) => { - db.update_metadata(&resource, &uri_str, &metadata, &icon_img, &cover_img) - .await - .unwrap(); + db.update_metadata(&resource, &uri_str, &metadata, &icon_img, &cover_img).unwrap(); info!( target: LOG_TARGET, resource = %format!("{:#x}", resource), diff --git a/crates/torii/core/src/processors/mod.rs b/crates/torii/core/src/processors/mod.rs index c6a8f13af5..cf25f36ca6 100644 --- a/crates/torii/core/src/processors/mod.rs +++ b/crates/torii/core/src/processors/mod.rs @@ -1,15 +1,15 @@ -use std::collections::HashMap; -use std::sync::Arc; - use anyhow::{Error, Result}; use async_trait::async_trait; use dojo_world::contracts::world::WorldContractReader; use starknet::core::types::{Event, Felt, Transaction}; -use starknet::core::utils::get_selector_from_name; use starknet::providers::Provider; use crate::sql::Sql; +pub mod erc20_legacy_transfer; +pub mod erc20_transfer; +pub mod erc721_legacy_transfer; +pub mod erc721_transfer; pub mod event_message; pub mod metadata_update; pub mod register_model; @@ -73,17 +73,3 @@ pub trait TransactionProcessor: Send + Sync { transaction: &Transaction, ) -> Result<(), Error>; } - -/// Given a list of event processors, generate a map of event keys to the event processor -pub fn generate_event_processors_map( - event_processor: Vec>>, -) -> Result>>> { - let mut event_processors = HashMap::new(); - - for processor in event_processor { - let key = get_selector_from_name(processor.event_key().as_str())?; - event_processors.insert(key, processor); - } - - Ok(event_processors) -} diff --git a/crates/torii/core/src/processors/store_set_record.rs b/crates/torii/core/src/processors/store_set_record.rs index c5f70a2a54..fa1351b156 100644 --- a/crates/torii/core/src/processors/store_set_record.rs +++ b/crates/torii/core/src/processors/store_set_record.rs @@ -8,7 +8,8 @@ use tracing::info; use super::EventProcessor; use crate::processors::{ENTITY_ID_INDEX, MODEL_INDEX, NUM_KEYS_INDEX}; -use crate::sql::{felts_sql_string, Sql}; +use crate::sql::utils::felts_to_sql_string; +use crate::sql::Sql; pub(crate) const LOG_TARGET: &str = "torii_core::processors::store_set_record"; @@ -60,7 +61,7 @@ where let keys_end: usize = keys_start + event.data[NUM_KEYS_INDEX].to_usize().context("invalid usize")?; let keys = event.data[keys_start..keys_end].to_vec(); - let keys_str = felts_sql_string(&keys); + let keys_str = felts_to_sql_string(&keys); // keys_end is already the length of the values array. diff --git a/crates/torii/core/src/processors/store_transaction.rs b/crates/torii/core/src/processors/store_transaction.rs index 2e7056e401..101fb88093 100644 --- a/crates/torii/core/src/processors/store_transaction.rs +++ b/crates/torii/core/src/processors/store_transaction.rs @@ -21,7 +21,7 @@ impl TransactionProcessor

for StoreTran transaction: &Transaction, ) -> Result<(), Error> { let transaction_id = format!("{:#064x}:{:#x}", block_number, transaction_hash); - db.store_transaction(transaction, &transaction_id, block_timestamp); + db.store_transaction(transaction, &transaction_id, block_timestamp)?; Ok(()) } } diff --git a/crates/torii/core/src/cache.rs b/crates/torii/core/src/sql/cache.rs similarity index 66% rename from crates/torii/core/src/cache.rs rename to crates/torii/core/src/sql/cache.rs index f5afab2103..8cbcba36ed 100644 --- a/crates/torii/core/src/cache.rs +++ b/crates/torii/core/src/sql/cache.rs @@ -1,13 +1,15 @@ -use std::collections::HashMap; +use std::collections::{HashMap, HashSet}; use dojo_types::schema::Ty; use dojo_world::contracts::abi::model::Layout; -use sqlx::SqlitePool; +use sqlx::{Pool, Sqlite, SqlitePool}; use starknet_crypto::Felt; use tokio::sync::RwLock; use crate::error::{Error, ParseError, QueryError}; use crate::model::{parse_sql_model_members, SqlModelMember}; +use crate::sql::utils::I256; +use crate::types::ContractType; #[derive(Debug, Clone)] pub struct Model { @@ -30,12 +32,12 @@ pub struct Model { #[derive(Debug)] pub struct ModelCache { pool: SqlitePool, - cache: RwLock>, + model_cache: RwLock>, } impl ModelCache { pub fn new(pool: SqlitePool) -> Self { - Self { pool, cache: RwLock::new(HashMap::new()) } + Self { pool, model_cache: RwLock::new(HashMap::new()) } } pub async fn models(&self, selectors: &[Felt]) -> Result, Error> { @@ -49,7 +51,7 @@ impl ModelCache { pub async fn model(&self, selector: &Felt) -> Result { { - let cache = self.cache.read().await; + let cache = self.model_cache.read().await; if let Some(model) = cache.get(selector).cloned() { return Ok(model); } @@ -95,7 +97,7 @@ impl ModelCache { } let schema = parse_sql_model_members(&namespace, &name, &model_members); - let mut cache = self.cache.write().await; + let mut cache = self.model_cache.write().await; let model = Model { namespace, @@ -114,11 +116,49 @@ impl ModelCache { } pub async fn set(&self, selector: Felt, model: Model) { - let mut cache = self.cache.write().await; + let mut cache = self.model_cache.write().await; cache.insert(selector, model); } pub async fn clear(&self) { - self.cache.write().await.clear(); + self.model_cache.write().await.clear(); + } +} + +#[derive(Debug)] +pub struct LocalCache { + pub erc_cache: HashMap<(ContractType, String), I256>, + pub token_id_registry: HashSet, +} + +impl Clone for LocalCache { + fn clone(&self) -> Self { + Self { erc_cache: HashMap::new(), token_id_registry: HashSet::new() } + } +} + +impl LocalCache { + pub async fn new(pool: Pool) -> Self { + // read existing token_id's from balances table and cache them + let token_id_registry: Vec<(String,)> = sqlx::query_as("SELECT token_id FROM balances") + .fetch_all(&pool) + .await + .expect("Should be able to read token_id's from blances table"); + + let token_id_registry = token_id_registry.into_iter().map(|token_id| token_id.0).collect(); + + Self { erc_cache: HashMap::new(), token_id_registry } + } + + pub fn empty() -> Self { + Self { erc_cache: HashMap::new(), token_id_registry: HashSet::new() } + } + + pub fn contains_token_id(&self, token_id: &str) -> bool { + self.token_id_registry.contains(token_id) + } + + pub fn register_token_id(&mut self, token_id: String) { + self.token_id_registry.insert(token_id); } } diff --git a/crates/torii/core/src/sql/erc.rs b/crates/torii/core/src/sql/erc.rs new file mode 100644 index 0000000000..f82eacb1a2 --- /dev/null +++ b/crates/torii/core/src/sql/erc.rs @@ -0,0 +1,360 @@ +use std::collections::HashMap; +use std::mem; + +use anyhow::{Context, Result}; +use cainome::cairo_serde::{ByteArray, CairoSerde}; +use starknet::core::types::{BlockId, BlockTag, Felt, FunctionCall, U256}; +use starknet::core::utils::{get_selector_from_name, parse_cairo_short_string}; +use starknet::providers::Provider; +use tracing::debug; + +use super::utils::{u256_to_sql_string, I256}; +use super::{Sql, FELT_DELIMITER}; +use crate::executor::{ApplyBalanceDiffQuery, Argument, QueryMessage, QueryType}; +use crate::sql::utils::{felt_and_u256_to_sql_string, felt_to_sql_string, felts_to_sql_string}; +use crate::types::ContractType; +use crate::utils::utc_dt_string_from_timestamp; + +impl Sql { + #[allow(clippy::too_many_arguments)] + pub async fn handle_erc20_transfer( + &mut self, + contract_address: Felt, + from_address: Felt, + to_address: Felt, + amount: U256, + provider: &P, + block_timestamp: u64, + event_id: &str, + ) -> Result<()> { + // contract_address + let token_id = felt_to_sql_string(&contract_address); + + let token_exists: bool = self.local_cache.contains_token_id(&token_id); + + if !token_exists { + self.register_erc20_token_metadata(contract_address, &token_id, provider).await?; + self.execute().await.with_context(|| "Failed to execute in handle_erc20_transfer")?; + } + + self.store_erc_transfer_event( + contract_address, + from_address, + to_address, + amount, + &token_id, + block_timestamp, + event_id, + )?; + + if from_address != Felt::ZERO { + // from_address/contract_address/ + let from_balance_id = felts_to_sql_string(&[from_address, contract_address]); + let from_balance = self + .local_cache + .erc_cache + .entry((ContractType::ERC20, from_balance_id)) + .or_default(); + *from_balance -= I256::from(amount); + } + + if to_address != Felt::ZERO { + let to_balance_id = felts_to_sql_string(&[to_address, contract_address]); + let to_balance = + self.local_cache.erc_cache.entry((ContractType::ERC20, to_balance_id)).or_default(); + *to_balance += I256::from(amount); + } + + if self.local_cache.erc_cache.len() >= 100000 { + self.apply_cache_diff().await?; + } + + Ok(()) + } + + #[allow(clippy::too_many_arguments)] + pub async fn handle_erc721_transfer( + &mut self, + contract_address: Felt, + from_address: Felt, + to_address: Felt, + token_id: U256, + provider: &P, + block_timestamp: u64, + event_id: &str, + ) -> Result<()> { + // contract_address:id + let token_id = felt_and_u256_to_sql_string(&contract_address, &token_id); + let token_exists: bool = self.local_cache.contains_token_id(&token_id); + + if !token_exists { + self.register_erc721_token_metadata(contract_address, &token_id, provider).await?; + self.execute().await?; + } + + self.store_erc_transfer_event( + contract_address, + from_address, + to_address, + U256::from(1u8), + &token_id, + block_timestamp, + event_id, + )?; + + // from_address/contract_address:id + if from_address != Felt::ZERO { + let from_balance_id = + format!("{}{FELT_DELIMITER}{}", felt_to_sql_string(&from_address), &token_id); + let from_balance = self + .local_cache + .erc_cache + .entry((ContractType::ERC721, from_balance_id)) + .or_default(); + *from_balance -= I256::from(1u8); + } + + if to_address != Felt::ZERO { + let to_balance_id = + format!("{}{FELT_DELIMITER}{}", felt_to_sql_string(&to_address), &token_id); + let to_balance = self + .local_cache + .erc_cache + .entry((ContractType::ERC721, to_balance_id)) + .or_default(); + *to_balance += I256::from(1u8); + } + + if self.local_cache.erc_cache.len() >= 100000 { + self.apply_cache_diff().await?; + } + + Ok(()) + } + + async fn register_erc20_token_metadata( + &mut self, + contract_address: Felt, + token_id: &str, + provider: &P, + ) -> Result<()> { + // Fetch token information from the chain + let name = provider + .call( + FunctionCall { + contract_address, + entry_point_selector: get_selector_from_name("name").unwrap(), + calldata: vec![], + }, + BlockId::Tag(BlockTag::Pending), + ) + .await?; + + // len = 1 => return value felt (i.e. legacy erc20 token) + // len > 1 => return value ByteArray (i.e. new erc20 token) + let name = if name.len() == 1 { + parse_cairo_short_string(&name[0]).unwrap() + } else { + ByteArray::cairo_deserialize(&name, 0) + .expect("Return value not ByteArray") + .to_string() + .expect("Return value not String") + }; + + let symbol = provider + .call( + FunctionCall { + contract_address, + entry_point_selector: get_selector_from_name("symbol").unwrap(), + calldata: vec![], + }, + BlockId::Tag(BlockTag::Pending), + ) + .await?; + + let symbol = if symbol.len() == 1 { + parse_cairo_short_string(&symbol[0]).unwrap() + } else { + ByteArray::cairo_deserialize(&symbol, 0) + .expect("Return value not ByteArray") + .to_string() + .expect("Return value not String") + }; + + let decimals = provider + .call( + FunctionCall { + contract_address, + entry_point_selector: get_selector_from_name("decimals").unwrap(), + calldata: vec![], + }, + BlockId::Tag(BlockTag::Pending), + ) + .await?; + let decimals = u8::cairo_deserialize(&decimals, 0).expect("Return value not u8"); + + // Insert the token into the tokens table + self.executor.send(QueryMessage::other( + "INSERT INTO tokens (id, contract_address, name, symbol, decimals) VALUES (?, ?, ?, \ + ?, ?)" + .to_string(), + vec![ + Argument::String(token_id.to_string()), + Argument::FieldElement(contract_address), + Argument::String(name), + Argument::String(symbol), + Argument::Int(decimals.into()), + ], + ))?; + + self.local_cache.register_token_id(token_id.to_string()); + + Ok(()) + } + + async fn register_erc721_token_metadata( + &mut self, + contract_address: Felt, + token_id: &str, + provider: &P, + ) -> Result<()> { + let res = sqlx::query_as::<_, (String, String, u8)>( + "SELECT name, symbol, decimals FROM tokens WHERE contract_address = ?", + ) + .bind(felt_to_sql_string(&contract_address)) + .fetch_one(&self.pool) + .await; + + // If we find a token already registered for this contract_address we dont need to refetch + // the data since its same for all ERC721 tokens + if let Ok((name, symbol, decimals)) = res { + debug!( + contract_address = %felt_to_sql_string(&contract_address), + "Token already registered for contract_address, so reusing fetched data", + ); + self.executor.send(QueryMessage::other( + "INSERT INTO tokens (id, contract_address, name, symbol, decimals) VALUES (?, ?, \ + ?, ?, ?)" + .to_string(), + vec![ + Argument::String(token_id.to_string()), + Argument::FieldElement(contract_address), + Argument::String(name), + Argument::String(symbol), + Argument::Int(decimals.into()), + ], + ))?; + self.local_cache.register_token_id(token_id.to_string()); + return Ok(()); + } + + // Fetch token information from the chain + let name = provider + .call( + FunctionCall { + contract_address, + entry_point_selector: get_selector_from_name("name").unwrap(), + calldata: vec![], + }, + BlockId::Tag(BlockTag::Pending), + ) + .await?; + + // len = 1 => return value felt (i.e. legacy erc721 token) + // len > 1 => return value ByteArray (i.e. new erc721 token) + let name = if name.len() == 1 { + parse_cairo_short_string(&name[0]).unwrap() + } else { + ByteArray::cairo_deserialize(&name, 0) + .expect("Return value not ByteArray") + .to_string() + .expect("Return value not String") + }; + + let symbol = provider + .call( + FunctionCall { + contract_address, + entry_point_selector: get_selector_from_name("symbol").unwrap(), + calldata: vec![], + }, + BlockId::Tag(BlockTag::Pending), + ) + .await?; + let symbol = if symbol.len() == 1 { + parse_cairo_short_string(&symbol[0]).unwrap() + } else { + ByteArray::cairo_deserialize(&symbol, 0) + .expect("Return value not ByteArray") + .to_string() + .expect("Return value not String") + }; + + let decimals = 0; + + // Insert the token into the tokens table + self.executor.send(QueryMessage::other( + "INSERT INTO tokens (id, contract_address, name, symbol, decimals) VALUES (?, ?, ?, \ + ?, ?)" + .to_string(), + vec![ + Argument::String(token_id.to_string()), + Argument::FieldElement(contract_address), + Argument::String(name), + Argument::String(symbol), + Argument::Int(decimals.into()), + ], + ))?; + + self.local_cache.register_token_id(token_id.to_string()); + + Ok(()) + } + + #[allow(clippy::too_many_arguments)] + fn store_erc_transfer_event( + &mut self, + contract_address: Felt, + from: Felt, + to: Felt, + amount: U256, + token_id: &str, + block_timestamp: u64, + event_id: &str, + ) -> Result<()> { + let insert_query = "INSERT INTO erc_transfers (id, contract_address, from_address, \ + to_address, amount, token_id, executed_at) VALUES (?, ?, ?, ?, ?, ?, \ + ?)"; + + self.executor.send(QueryMessage::other( + insert_query.to_string(), + vec![ + Argument::String(event_id.to_string()), + Argument::FieldElement(contract_address), + Argument::FieldElement(from), + Argument::FieldElement(to), + Argument::String(u256_to_sql_string(&amount)), + Argument::String(token_id.to_string()), + Argument::String(utc_dt_string_from_timestamp(block_timestamp)), + ], + ))?; + + Ok(()) + } + + pub async fn apply_cache_diff(&mut self) -> Result<()> { + if !self.local_cache.erc_cache.is_empty() { + self.executor.send(QueryMessage::new( + "".to_string(), + vec![], + QueryType::ApplyBalanceDiff(ApplyBalanceDiffQuery { + erc_cache: mem::replace( + &mut self.local_cache.erc_cache, + HashMap::with_capacity(64), + ), + }), + ))?; + } + Ok(()) + } +} diff --git a/crates/torii/core/src/sql.rs b/crates/torii/core/src/sql/mod.rs similarity index 70% rename from crates/torii/core/src/sql.rs rename to crates/torii/core/src/sql/mod.rs index 8c9e0882c7..ad00c34ca6 100644 --- a/crates/torii/core/src/sql.rs +++ b/crates/torii/core/src/sql/mod.rs @@ -1,8 +1,9 @@ +use std::collections::HashMap; use std::convert::TryInto; use std::str::FromStr; use std::sync::Arc; -use anyhow::{anyhow, Result}; +use anyhow::{anyhow, Context, Result}; use dojo_types::primitive::Primitive; use dojo_types::schema::{EnumOption, Member, Struct, Ty}; use dojo_world::contracts::abi::model::Layout; @@ -12,10 +13,14 @@ use sqlx::pool::PoolConnection; use sqlx::{Pool, Sqlite}; use starknet::core::types::{Event, Felt, InvokeTransaction, Transaction}; use starknet_crypto::poseidon_hash_many; -use tracing::{debug, warn}; - -use crate::cache::{Model, ModelCache}; -use crate::query_queue::{Argument, DeleteEntityQuery, QueryQueue, QueryType}; +use tokio::sync::mpsc::UnboundedSender; +use utils::felts_to_sql_string; + +use crate::executor::{ + Argument, DeleteEntityQuery, QueryMessage, QueryType, ResetCursorsQuery, SetHeadQuery, + UpdateCursorsQuery, +}; +use crate::types::ContractType; use crate::utils::utc_dt_string_from_timestamp; type IsEventMessage = bool; @@ -24,126 +29,225 @@ type IsStoreUpdate = bool; pub const WORLD_CONTRACT_TYPE: &str = "WORLD"; pub const FELT_DELIMITER: &str = "/"; +pub mod cache; +pub mod erc; +pub mod query_queue; #[cfg(test)] -#[path = "sql_test.rs"] +#[path = "test.rs"] mod test; +pub mod utils; + +use cache::{LocalCache, Model, ModelCache}; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct Sql { - world_address: Felt, pub pool: Pool, - pub query_queue: QueryQueue, + pub executor: UnboundedSender, model_cache: Arc, + // when SQL struct is cloned a empty local_cache is created + local_cache: LocalCache, } -impl Clone for Sql { - fn clone(&self) -> Self { - Self { - world_address: self.world_address, - pool: self.pool.clone(), - query_queue: QueryQueue::new(self.pool.clone()), - model_cache: self.model_cache.clone(), - } - } +#[derive(Debug, Clone)] +pub struct Cursors { + pub cursor_map: HashMap, + pub last_pending_block_tx: Option, + pub head: Option, } impl Sql { - pub async fn new(pool: Pool, world_address: Felt) -> Result { - let mut query_queue = QueryQueue::new(pool.clone()); - - query_queue.enqueue( - "INSERT OR IGNORE INTO contracts (id, contract_address, contract_type) VALUES (?, ?, \ - ?)", - vec![ - Argument::FieldElement(world_address), - Argument::FieldElement(world_address), - Argument::String(WORLD_CONTRACT_TYPE.to_string()), - ], - QueryType::Other, - ); - - query_queue.execute_all().await?; + pub async fn new( + pool: Pool, + executor: UnboundedSender, + contracts: &HashMap, + ) -> Result { + for contract in contracts { + executor.send(QueryMessage::other( + "INSERT OR IGNORE INTO contracts (id, contract_address, contract_type) VALUES (?, \ + ?, ?)" + .to_string(), + vec![ + Argument::FieldElement(*contract.0), + Argument::FieldElement(*contract.0), + Argument::String(contract.1.to_string()), + ], + ))?; + } - Ok(Self { + let local_cache = LocalCache::new(pool.clone()).await; + let db = Self { pool: pool.clone(), - world_address, - query_queue, - model_cache: Arc::new(ModelCache::new(pool)), - }) - } - - pub fn merge(&mut self, other: Sql) -> Result<()> { - // Merge query queue - self.query_queue.queue.extend(other.query_queue.queue); + executor, + model_cache: Arc::new(ModelCache::new(pool.clone())), + local_cache, + }; - // This should never happen - if self.world_address != other.world_address { - warn!( - "Merging Sql instances with different world addresses: {} and {}", - self.world_address, other.world_address - ); - } + db.execute().await?; - Ok(()) + Ok(db) } - pub async fn head(&self) -> Result<(u64, Option, Option)> { - let mut conn: PoolConnection = self.pool.acquire().await?; + pub async fn head(&self, contract: Felt) -> Result<(u64, Option, Option)> { let indexer_query = sqlx::query_as::<_, (Option, Option, Option, String)>( - "SELECT head, last_pending_block_world_tx, last_pending_block_tx, contract_type \ - FROM contracts WHERE id = ?", + "SELECT head, last_pending_block_contract_tx, last_pending_block_tx, \ + contract_type FROM contracts WHERE id = ?", ) - .bind(format!("{:#x}", self.world_address)); + .bind(format!("{:#x}", contract)); - let indexer: (Option, Option, Option, String) = - indexer_query.fetch_one(&mut *conn).await?; + let indexer: (Option, Option, Option, String) = indexer_query + .fetch_one(&self.pool) + .await + .with_context(|| format!("Failed to fetch head for contract: {:#x}", contract))?; Ok(( - indexer.0.map(|h| h.try_into().expect("doesn't fit in u64")).unwrap_or(0), + indexer + .0 + .map(|h| h.try_into().map_err(|_| anyhow!("Head value {} doesn't fit in u64", h))) + .transpose()? + .unwrap_or(0), indexer.1.map(|f| Felt::from_str(&f)).transpose()?, indexer.2.map(|f| Felt::from_str(&f)).transpose()?, )) } - pub fn set_head(&mut self, head: u64) { - let head = Argument::Int(head.try_into().expect("doesn't fit in u64")); - let id = Argument::FieldElement(self.world_address); - self.query_queue.enqueue( - "UPDATE contracts SET head = ? WHERE id = ?", - vec![head, id], - QueryType::Other, + pub async fn set_head( + &mut self, + head: u64, + last_block_timestamp: u64, + world_txns_count: u64, + contract_address: Felt, + ) -> Result<()> { + let head_arg = Argument::Int( + head.try_into().map_err(|_| anyhow!("Head value {} doesn't fit in i64", head))?, ); + let last_block_timestamp_arg = + Argument::Int(last_block_timestamp.try_into().map_err(|_| { + anyhow!("Last block timestamp value {} doesn't fit in i64", last_block_timestamp) + })?); + let id = Argument::FieldElement(contract_address); + + self.executor.send(QueryMessage::new( + "UPDATE contracts SET head = ?, last_block_timestamp = ? WHERE id = ?".to_string(), + vec![head_arg, last_block_timestamp_arg, id], + QueryType::SetHead(SetHeadQuery { + head, + last_block_timestamp, + txns_count: world_txns_count, + contract_address, + }), + ))?; + + Ok(()) } - pub fn set_last_pending_block_world_tx(&mut self, last_pending_block_world_tx: Option) { - let last_pending_block_world_tx = if let Some(f) = last_pending_block_world_tx { + pub fn set_last_pending_block_contract_tx( + &mut self, + contract: Felt, + last_pending_block_contract_tx: Option, + ) -> Result<()> { + let last_pending_block_contract_tx = if let Some(f) = last_pending_block_contract_tx { Argument::String(format!("{:#x}", f)) } else { Argument::Null }; - let id = Argument::FieldElement(self.world_address); + let id = Argument::FieldElement(contract); - self.query_queue.enqueue( - "UPDATE contracts SET last_pending_block_world_tx = ? WHERE id = ?", - vec![last_pending_block_world_tx, id], - QueryType::Other, - ); + self.executor.send(QueryMessage::other( + "UPDATE contracts SET last_pending_block_contract_tx = ? WHERE id = ?".to_string(), + vec![last_pending_block_contract_tx, id], + ))?; + + Ok(()) } - pub fn set_last_pending_block_tx(&mut self, last_pending_block_tx: Option) { + pub fn set_last_pending_block_tx(&mut self, last_pending_block_tx: Option) -> Result<()> { let last_pending_block_tx = if let Some(f) = last_pending_block_tx { Argument::String(format!("{:#x}", f)) } else { Argument::Null }; - let id = Argument::FieldElement(self.world_address); - self.query_queue.enqueue( - "UPDATE contracts SET last_pending_block_tx = ? WHERE id = ?", - vec![last_pending_block_tx, id], - QueryType::Other, - ); + self.executor.send(QueryMessage::other( + "UPDATE contracts SET last_pending_block_tx = ? WHERE 1=1".to_string(), + vec![last_pending_block_tx], + ))?; + + Ok(()) + } + + pub(crate) async fn cursors(&self) -> Result { + let mut conn: PoolConnection = self.pool.acquire().await?; + let cursors = sqlx::query_as::<_, (String, String)>( + "SELECT contract_address, last_pending_block_contract_tx FROM contracts WHERE \ + last_pending_block_contract_tx IS NOT NULL", + ) + .fetch_all(&mut *conn) + .await?; + + let (head, last_pending_block_tx) = sqlx::query_as::<_, (Option, Option)>( + "SELECT head, last_pending_block_tx FROM contracts WHERE 1=1", + ) + .fetch_one(&mut *conn) + .await?; + + let head = head.map(|h| h.try_into().expect("doesn't fit in u64")); + let last_pending_block_tx = + last_pending_block_tx.map(|t| Felt::from_str(&t).expect("its a valid felt")); + Ok(Cursors { + cursor_map: cursors + .into_iter() + .map(|(c, t)| { + ( + Felt::from_str(&c).expect("its a valid felt"), + Felt::from_str(&t).expect("its a valid felt"), + ) + }) + .collect(), + last_pending_block_tx, + head, + }) + } + + // For a given contract address, sets head to the passed value and sets + // last_pending_block_contract_tx and last_pending_block_tx to null + pub fn reset_cursors( + &mut self, + head: u64, + cursor_map: HashMap, + last_block_timestamp: u64, + ) -> Result<()> { + self.executor.send(QueryMessage::new( + "".to_string(), + vec![], + QueryType::ResetCursors(ResetCursorsQuery { + cursor_map, + last_block_timestamp, + last_block_number: head, + }), + ))?; + + Ok(()) + } + + pub fn update_cursors( + &mut self, + head: u64, + last_pending_block_tx: Option, + cursor_map: HashMap, + pending_block_timestamp: u64, + ) -> Result<()> { + self.executor.send(QueryMessage::new( + "".to_string(), + vec![], + QueryType::UpdateCursors(UpdateCursorsQuery { + cursor_map, + last_pending_block_tx, + last_block_number: head, + pending_block_timestamp, + }), + ))?; + Ok(()) } #[allow(clippy::too_many_arguments)] @@ -168,7 +272,6 @@ impl Sql { class_hash=EXCLUDED.class_hash, layout=EXCLUDED.layout, \ packed_size=EXCLUDED.packed_size, unpacked_size=EXCLUDED.unpacked_size, \ executed_at=EXCLUDED.executed_at RETURNING *"; - let arguments = vec![ Argument::String(format!("{:#x}", selector)), Argument::String(namespace.to_string()), @@ -180,8 +283,11 @@ impl Sql { Argument::Int(unpacked_size as i64), Argument::String(utc_dt_string_from_timestamp(block_timestamp)), ]; - - self.query_queue.enqueue(insert_models, arguments, QueryType::RegisterModel); + self.executor.send(QueryMessage::new( + insert_models.to_string(), + arguments, + QueryType::RegisterModel, + ))?; let mut model_idx = 0_i64; self.build_register_queries_recursive( @@ -192,7 +298,7 @@ impl Sql { block_timestamp, &mut 0, &mut 0, - ); + )?; // we set the model in the cache directly // because entities might be using it before the query queue is processed @@ -255,14 +361,18 @@ impl Sql { arguments.push(Argument::String(keys.to_string())); } - self.query_queue.enqueue(insert_entities, arguments, QueryType::SetEntity(entity.clone())); + self.executor.send(QueryMessage::new( + insert_entities.to_string(), + arguments, + QueryType::SetEntity(entity.clone()), + ))?; - self.query_queue.enqueue( + self.executor.send(QueryMessage::other( "INSERT INTO entity_model (entity_id, model_id) VALUES (?, ?) ON CONFLICT(entity_id, \ - model_id) DO NOTHING", + model_id) DO NOTHING" + .to_string(), vec![Argument::String(entity_id.clone()), Argument::String(model_id.clone())], - QueryType::Other, - ); + ))?; let path = vec![namespaced_name]; self.build_set_entity_queries_recursive( @@ -272,7 +382,7 @@ impl Sql { (&entity, keys_str.is_none()), block_timestamp, &vec![], - ); + )?; Ok(()) } @@ -299,13 +409,13 @@ impl Sql { let entity_id = format!("{:#x}", poseidon_hash_many(&keys)); let model_id = format!("{:#x}", compute_selector_from_names(model_namespace, model_name)); - let keys_str = felts_sql_string(&keys); + let keys_str = felts_to_sql_string(&keys); let insert_entities = "INSERT INTO event_messages (id, keys, event_id, executed_at) \ VALUES (?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET \ updated_at=CURRENT_TIMESTAMP, executed_at=EXCLUDED.executed_at, \ event_id=EXCLUDED.event_id RETURNING *"; - self.query_queue.enqueue( - insert_entities, + self.executor.send(QueryMessage::new( + insert_entities.to_string(), vec![ Argument::String(entity_id.clone()), Argument::String(keys_str), @@ -313,13 +423,13 @@ impl Sql { Argument::String(utc_dt_string_from_timestamp(block_timestamp)), ], QueryType::EventMessage(entity.clone()), - ); - self.query_queue.enqueue( + ))?; + self.executor.send(QueryMessage::other( "INSERT INTO event_model (entity_id, model_id) VALUES (?, ?) ON CONFLICT(entity_id, \ - model_id) DO NOTHING", + model_id) DO NOTHING" + .to_string(), vec![Argument::String(entity_id.clone()), Argument::String(model_id.clone())], - QueryType::Other, - ); + ))?; let path = vec![namespaced_name]; self.build_set_entity_queries_recursive( @@ -329,7 +439,7 @@ impl Sql { (&entity, false), block_timestamp, &vec![], - ); + )?; Ok(()) } @@ -345,10 +455,10 @@ impl Sql { let entity_id = format!("{:#x}", entity_id); let path = vec![entity.name()]; // delete entity models data - self.build_delete_entity_queries_recursive(path, &entity_id, &entity); + self.build_delete_entity_queries_recursive(path, &entity_id, &entity)?; - self.query_queue.enqueue( - "DELETE FROM entity_model WHERE entity_id = ? AND model_id = ?", + self.executor.send(QueryMessage::new( + "DELETE FROM entity_model WHERE entity_id = ? AND model_id = ?".to_string(), vec![Argument::String(entity_id.clone()), Argument::String(format!("{:#x}", model_id))], QueryType::DeleteEntity(DeleteEntityQuery { entity_id: entity_id.clone(), @@ -356,26 +466,28 @@ impl Sql { block_timestamp: utc_dt_string_from_timestamp(block_timestamp), ty: entity.clone(), }), - ); + ))?; Ok(()) } - pub fn set_metadata(&mut self, resource: &Felt, uri: &str, block_timestamp: u64) { + pub fn set_metadata(&mut self, resource: &Felt, uri: &str, block_timestamp: u64) -> Result<()> { let resource = Argument::FieldElement(*resource); let uri = Argument::String(uri.to_string()); let executed_at = Argument::String(utc_dt_string_from_timestamp(block_timestamp)); - self.query_queue.enqueue( + self.executor.send(QueryMessage::other( "INSERT INTO metadata (id, uri, executed_at) VALUES (?, ?, ?) ON CONFLICT(id) DO \ UPDATE SET id=excluded.id, executed_at=excluded.executed_at, \ - updated_at=CURRENT_TIMESTAMP", + updated_at=CURRENT_TIMESTAMP" + .to_string(), vec![resource, uri, executed_at], - QueryType::Other, - ); + ))?; + + Ok(()) } - pub async fn update_metadata( + pub fn update_metadata( &mut self, resource: &Felt, uri: &str, @@ -401,7 +513,7 @@ impl Sql { let statement = format!("UPDATE metadata SET {} WHERE id = ?", update.join(",")); arguments.push(Argument::FieldElement(*resource)); - self.query_queue.enqueue(statement, arguments, QueryType::Other); + self.executor.send(QueryMessage::other(statement, arguments))?; Ok(()) } @@ -431,13 +543,13 @@ impl Sql { transaction: &Transaction, transaction_id: &str, block_timestamp: u64, - ) { + ) -> Result<()> { let id = Argument::String(transaction_id.to_string()); let transaction_type = match transaction { Transaction::Invoke(_) => "INVOKE", Transaction::L1Handler(_) => "L1_HANDLER", - _ => return, + _ => return Ok(()), }; let (transaction_hash, sender_address, calldata, max_fee, signature, nonce) = @@ -445,26 +557,27 @@ impl Sql { Transaction::Invoke(InvokeTransaction::V1(invoke_v1_transaction)) => ( Argument::FieldElement(invoke_v1_transaction.transaction_hash), Argument::FieldElement(invoke_v1_transaction.sender_address), - Argument::String(felts_sql_string(&invoke_v1_transaction.calldata)), + Argument::String(felts_to_sql_string(&invoke_v1_transaction.calldata)), Argument::FieldElement(invoke_v1_transaction.max_fee), - Argument::String(felts_sql_string(&invoke_v1_transaction.signature)), + Argument::String(felts_to_sql_string(&invoke_v1_transaction.signature)), Argument::FieldElement(invoke_v1_transaction.nonce), ), Transaction::L1Handler(l1_handler_transaction) => ( Argument::FieldElement(l1_handler_transaction.transaction_hash), Argument::FieldElement(l1_handler_transaction.contract_address), - Argument::String(felts_sql_string(&l1_handler_transaction.calldata)), + Argument::String(felts_to_sql_string(&l1_handler_transaction.calldata)), Argument::FieldElement(Felt::ZERO), // has no max_fee Argument::String("".to_string()), // has no signature Argument::FieldElement((l1_handler_transaction.nonce).into()), ), - _ => return, + _ => return Ok(()), }; - self.query_queue.enqueue( + self.executor.send(QueryMessage::other( "INSERT OR IGNORE INTO transactions (id, transaction_hash, sender_address, calldata, \ max_fee, signature, nonce, transaction_type, executed_at) VALUES (?, ?, ?, ?, ?, ?, \ - ?, ?, ?)", + ?, ?, ?)" + .to_string(), vec![ id, transaction_hash, @@ -476,8 +589,9 @@ impl Sql { Argument::String(transaction_type.to_string()), Argument::String(utc_dt_string_from_timestamp(block_timestamp)), ], - QueryType::Other, - ); + ))?; + + Ok(()) } pub fn store_event( @@ -486,19 +600,22 @@ impl Sql { event: &Event, transaction_hash: Felt, block_timestamp: u64, - ) { + ) -> Result<()> { let id = Argument::String(event_id.to_string()); - let keys = Argument::String(felts_sql_string(&event.keys)); - let data = Argument::String(felts_sql_string(&event.data)); + let keys = Argument::String(felts_to_sql_string(&event.keys)); + let data = Argument::String(felts_to_sql_string(&event.data)); let hash = Argument::FieldElement(transaction_hash); let executed_at = Argument::String(utc_dt_string_from_timestamp(block_timestamp)); - self.query_queue.enqueue( + self.executor.send(QueryMessage::new( "INSERT OR IGNORE INTO events (id, keys, data, transaction_hash, executed_at) VALUES \ - (?, ?, ?, ?, ?) RETURNING *", + (?, ?, ?, ?, ?) RETURNING *" + .to_string(), vec![id, keys, data, hash, executed_at], QueryType::StoreEvent, - ); + ))?; + + Ok(()) } #[allow(clippy::too_many_arguments)] @@ -511,11 +628,11 @@ impl Sql { block_timestamp: u64, array_idx: &mut usize, parent_array_idx: &mut usize, - ) { + ) -> Result<()> { if let Ty::Enum(e) = model { if e.options.iter().all(|o| if let Ty::Tuple(t) = &o.ty { t.is_empty() } else { false }) { - return; + return Ok(()); } } @@ -527,13 +644,13 @@ impl Sql { block_timestamp, *array_idx, *parent_array_idx, - ); + )?; - let mut build_member = |pathname: &str, member: &Ty| { + let mut build_member = |pathname: &str, member: &Ty| -> Result<()> { if let Ty::Primitive(_) = member { - return; + return Ok(()); } else if let Ty::ByteArray(_) = member { - return; + return Ok(()); } let mut path_clone = path.clone(); @@ -547,20 +664,22 @@ impl Sql { block_timestamp, &mut (*array_idx + if let Ty::Array(_) = member { 1 } else { 0 }), &mut (*parent_array_idx + if let Ty::Array(_) = model { 1 } else { 0 }), - ); + )?; + + Ok(()) }; if let Ty::Struct(s) = model { for member in s.children.iter() { - build_member(&member.name, &member.ty); + build_member(&member.name, &member.ty)?; } } else if let Ty::Tuple(t) = model { for (idx, member) in t.iter().enumerate() { - build_member(format!("_{}", idx).as_str(), member); + build_member(format!("_{}", idx).as_str(), member)?; } } else if let Ty::Array(array) = model { let ty = &array[0]; - build_member("data", ty); + build_member("data", ty)?; } else if let Ty::Enum(e) = model { for child in e.options.iter() { // Skip enum options that have no type / member @@ -570,9 +689,11 @@ impl Sql { } } - build_member(&child.name, &child.ty); + build_member(&child.name, &child.ty)?; } } + + Ok(()) } fn build_set_entity_queries_recursive( @@ -584,103 +705,107 @@ impl Sql { entity: (&Ty, IsStoreUpdate), block_timestamp: u64, indexes: &Vec, - ) { + ) -> Result<()> { let (entity_id, is_event_message) = entity_id; let (entity, is_store_update_member) = entity; - let update_members = - |members: &[Member], query_queue: &mut QueryQueue, indexes: &Vec| { - let table_id = path.join("$"); - let mut columns = vec![ - "id".to_string(), - "event_id".to_string(), - "executed_at".to_string(), - "updated_at".to_string(), - if is_event_message { - "event_message_id".to_string() - } else { - "entity_id".to_string() - }, - ]; - - let mut arguments = vec![ - Argument::String(if is_event_message { - "event:".to_string() + entity_id - } else { - entity_id.to_string() - }), - Argument::String(event_id.to_string()), - Argument::String(utc_dt_string_from_timestamp(block_timestamp)), - Argument::String(chrono::Utc::now().to_rfc3339()), - Argument::String(entity_id.to_string()), - ]; + let update_members = |members: &[Member], + executor: &mut UnboundedSender, + indexes: &Vec| + -> Result<()> { + let table_id = path.join("$"); + let mut columns = vec![ + "id".to_string(), + "event_id".to_string(), + "executed_at".to_string(), + "updated_at".to_string(), + if is_event_message { + "event_message_id".to_string() + } else { + "entity_id".to_string() + }, + ]; - if !indexes.is_empty() { - columns.push("full_array_id".to_string()); - arguments.push(Argument::String( - std::iter::once(entity_id.to_string()) - .chain(indexes.iter().map(|i| i.to_string())) - .collect::>() - .join(FELT_DELIMITER), - )); - } + let mut arguments = vec![ + Argument::String(if is_event_message { + "event:".to_string() + entity_id + } else { + entity_id.to_string() + }), + Argument::String(event_id.to_string()), + Argument::String(utc_dt_string_from_timestamp(block_timestamp)), + Argument::String(chrono::Utc::now().to_rfc3339()), + Argument::String(entity_id.to_string()), + ]; + + if !indexes.is_empty() { + columns.push("full_array_id".to_string()); + arguments.push(Argument::String( + std::iter::once(entity_id.to_string()) + .chain(indexes.iter().map(|i| i.to_string())) + .collect::>() + .join(FELT_DELIMITER), + )); + } - for (column_idx, idx) in indexes.iter().enumerate() { - columns.push(format!("idx_{}", column_idx)); - arguments.push(Argument::Int(*idx)); - } + for (column_idx, idx) in indexes.iter().enumerate() { + columns.push(format!("idx_{}", column_idx)); + arguments.push(Argument::Int(*idx)); + } - for member in members.iter() { - match &member.ty { - Ty::Primitive(ty) => { - columns.push(format!("external_{}", &member.name)); - arguments.push(Argument::String(ty.to_sql_value().unwrap())); - } - Ty::Enum(e) => { - columns.push(format!("external_{}", &member.name)); - arguments.push(Argument::String(e.to_sql_value().unwrap())); - } - Ty::ByteArray(b) => { - columns.push(format!("external_{}", &member.name)); - arguments.push(Argument::String(b.clone())); - } - _ => {} + for member in members.iter() { + match &member.ty { + Ty::Primitive(ty) => { + columns.push(format!("external_{}", &member.name)); + arguments.push(Argument::String(ty.to_sql_value().unwrap())); } + Ty::Enum(e) => { + columns.push(format!("external_{}", &member.name)); + arguments.push(Argument::String(e.to_sql_value().unwrap())); + } + Ty::ByteArray(b) => { + columns.push(format!("external_{}", &member.name)); + arguments.push(Argument::String(b.clone())); + } + _ => {} } + } - let placeholders: Vec<&str> = arguments.iter().map(|_| "?").collect(); - let statement = if is_store_update_member && indexes.is_empty() { - arguments.push(Argument::String(if is_event_message { - "event:".to_string() + entity_id - } else { - entity_id.to_string() - })); - - // row has to exist. update it directly - format!( - "UPDATE [{table_id}] SET {updates} WHERE id = ?", - table_id = table_id, - updates = columns - .iter() - .zip(placeholders.iter()) - .map(|(column, placeholder)| format!("{} = {}", column, placeholder)) - .collect::>() - .join(", ") - ) + let placeholders: Vec<&str> = arguments.iter().map(|_| "?").collect(); + let statement = if is_store_update_member && indexes.is_empty() { + arguments.push(Argument::String(if is_event_message { + "event:".to_string() + entity_id } else { - format!( - "INSERT OR REPLACE INTO [{table_id}] ({}) VALUES ({})", - columns.join(","), - placeholders.join(",") - ) - }; - - query_queue.enqueue(statement, arguments, QueryType::Other); + entity_id.to_string() + })); + + // row has to exist. update it directly + format!( + "UPDATE [{table_id}] SET {updates} WHERE id = ?", + table_id = table_id, + updates = columns + .iter() + .zip(placeholders.iter()) + .map(|(column, placeholder)| format!("{} = {}", column, placeholder)) + .collect::>() + .join(", ") + ) + } else { + format!( + "INSERT OR REPLACE INTO [{table_id}] ({}) VALUES ({})", + columns.join(","), + placeholders.join(",") + ) }; + executor.send(QueryMessage::other(statement, arguments))?; + + Ok(()) + }; + match entity { Ty::Struct(s) => { - update_members(&s.children, &mut self.query_queue, indexes); + update_members(&s.children, &mut self.executor, indexes)?; for member in s.children.iter() { let mut path_clone = path.clone(); @@ -692,7 +817,7 @@ impl Sql { (&member.ty, is_store_update_member), block_timestamp, indexes, - ); + )?; } } Ty::Enum(e) => { @@ -701,7 +826,7 @@ impl Sql { if let Ty::Tuple(t) = &o.ty { t.is_empty() } else { false } }, ) { - return; + return Ok(()); } let option = e.options[e.option.unwrap() as usize].clone(); @@ -711,9 +836,9 @@ impl Sql { Member { name: "option".to_string(), ty: Ty::Enum(e.clone()), key: false }, Member { name: option.name.clone(), ty: option.ty.clone(), key: false }, ], - &mut self.query_queue, + &mut self.executor, indexes, - ); + )?; match &option.ty { // Skip enum options that have no type / member @@ -728,7 +853,7 @@ impl Sql { (&option.ty, is_store_update_member), block_timestamp, indexes, - ); + )?; } } } @@ -743,9 +868,9 @@ impl Sql { }) .collect::>() .as_slice(), - &mut self.query_queue, + &mut self.executor, indexes, - ); + )?; for (idx, member) in t.iter().enumerate() { let mut path_clone = path.clone(); @@ -757,7 +882,7 @@ impl Sql { (member, is_store_update_member), block_timestamp, indexes, - ); + )?; } } Ty::Array(array) => { @@ -773,7 +898,7 @@ impl Sql { let mut arguments = vec![Argument::String(entity_id.to_string())]; arguments.extend(indexes.iter().map(|idx| Argument::Int(*idx))); - self.query_queue.enqueue(query, arguments, QueryType::Other); + self.executor.send(QueryMessage::other(query, arguments))?; // insert the new array elements for (idx, member) in array.iter().enumerate() { @@ -782,9 +907,9 @@ impl Sql { update_members( &[Member { name: "data".to_string(), ty: member.clone(), key: false }], - &mut self.query_queue, + &mut self.executor, &indexes, - ); + )?; let mut path_clone = path.clone(); path_clone.push("data".to_string()); @@ -795,11 +920,13 @@ impl Sql { (member, is_store_update_member), block_timestamp, &indexes, - ); + )?; } } _ => {} } + + Ok(()) } fn build_delete_entity_queries_recursive( @@ -807,20 +934,19 @@ impl Sql { path: Vec, entity_id: &str, entity: &Ty, - ) { + ) -> Result<()> { match entity { Ty::Struct(s) => { let table_id = path.join("$"); let statement = format!("DELETE FROM [{table_id}] WHERE entity_id = ?"); - self.query_queue.enqueue( + self.executor.send(QueryMessage::other( statement, vec![Argument::String(entity_id.to_string())], - QueryType::Other, - ); + ))?; for member in s.children.iter() { let mut path_clone = path.clone(); path_clone.push(member.name.clone()); - self.build_delete_entity_queries_recursive(path_clone, entity_id, &member.ty); + self.build_delete_entity_queries_recursive(path_clone, entity_id, &member.ty)?; } } Ty::Enum(e) => { @@ -828,16 +954,15 @@ impl Sql { .iter() .all(|o| if let Ty::Tuple(t) = &o.ty { t.is_empty() } else { false }) { - return; + return Ok(()); } let table_id = path.join("$"); let statement = format!("DELETE FROM [{table_id}] WHERE entity_id = ?"); - self.query_queue.enqueue( + self.executor.send(QueryMessage::other( statement, vec![Argument::String(entity_id.to_string())], - QueryType::Other, - ); + ))?; for child in e.options.iter() { if let Ty::Tuple(t) = &child.ty { @@ -848,41 +973,41 @@ impl Sql { let mut path_clone = path.clone(); path_clone.push(child.name.clone()); - self.build_delete_entity_queries_recursive(path_clone, entity_id, &child.ty); + self.build_delete_entity_queries_recursive(path_clone, entity_id, &child.ty)?; } } Ty::Array(array) => { let table_id = path.join("$"); let statement = format!("DELETE FROM [{table_id}] WHERE entity_id = ?"); - self.query_queue.enqueue( + self.executor.send(QueryMessage::other( statement, vec![Argument::String(entity_id.to_string())], - QueryType::Other, - ); + ))?; for member in array.iter() { let mut path_clone = path.clone(); path_clone.push("data".to_string()); - self.build_delete_entity_queries_recursive(path_clone, entity_id, member); + self.build_delete_entity_queries_recursive(path_clone, entity_id, member)?; } } Ty::Tuple(t) => { let table_id = path.join("$"); let statement = format!("DELETE FROM [{table_id}] WHERE entity_id = ?"); - self.query_queue.enqueue( + self.executor.send(QueryMessage::other( statement, vec![Argument::String(entity_id.to_string())], - QueryType::Other, - ); + ))?; for (idx, member) in t.iter().enumerate() { let mut path_clone = path.clone(); path_clone.push(format!("_{}", idx)); - self.build_delete_entity_queries_recursive(path_clone, entity_id, member); + self.build_delete_entity_queries_recursive(path_clone, entity_id, member)?; } } _ => {} } + + Ok(()) } #[allow(clippy::too_many_arguments)] @@ -895,7 +1020,7 @@ impl Sql { block_timestamp: u64, array_idx: usize, parent_array_idx: usize, - ) { + ) -> Result<()> { let table_id = path.join("$"); let mut indices = Vec::new(); @@ -987,7 +1112,7 @@ impl Sql { Argument::String(utc_dt_string_from_timestamp(block_timestamp)), ]; - self.query_queue.enqueue(statement, arguments, QueryType::Other); + self.executor.send(QueryMessage::other(statement.to_string(), arguments))?; } } Ty::Tuple(tuple) => { @@ -1015,7 +1140,7 @@ impl Sql { Argument::String(utc_dt_string_from_timestamp(block_timestamp)), ]; - self.query_queue.enqueue(statement, arguments, QueryType::Other); + self.executor.send(QueryMessage::other(statement.to_string(), arguments))?; } } Ty::Array(array) => { @@ -1040,7 +1165,7 @@ impl Sql { Argument::String(utc_dt_string_from_timestamp(block_timestamp)), ]; - self.query_queue.enqueue(statement, arguments, QueryType::Other); + self.executor.send(QueryMessage::other(statement.to_string(), arguments))?; } Ty::Enum(e) => { for (idx, child) in e @@ -1079,7 +1204,7 @@ impl Sql { Argument::String(utc_dt_string_from_timestamp(block_timestamp)), ]; - self.query_queue.enqueue(statement, arguments, QueryType::Other); + self.executor.send(QueryMessage::other(statement.to_string(), arguments))?; } } _ => {} @@ -1118,23 +1243,18 @@ impl Sql { create_table_query .push_str("FOREIGN KEY (event_message_id) REFERENCES event_messages(id));"); - self.query_queue.enqueue(create_table_query, vec![], QueryType::Other); - - indices.iter().for_each(|s| { - self.query_queue.enqueue(s, vec![], QueryType::Other); - }); - } + self.executor.send(QueryMessage::other(create_table_query, vec![]))?; - /// Execute all queries in the queue - pub async fn execute(&mut self) -> Result<()> { - debug!("Executing {} queries from the queue", self.query_queue.queue.len()); - self.query_queue.execute_all().await?; + for s in indices.iter() { + self.executor.send(QueryMessage::other(s.to_string(), vec![]))?; + } Ok(()) } -} -pub fn felts_sql_string(felts: &[Felt]) -> String { - felts.iter().map(|k| format!("{:#x}", k)).collect::>().join(FELT_DELIMITER) - + FELT_DELIMITER + pub async fn execute(&self) -> Result<()> { + let (execute, recv) = QueryMessage::execute_recv(); + self.executor.send(execute)?; + recv.await? + } } diff --git a/crates/torii/core/src/query_queue.rs b/crates/torii/core/src/sql/query_queue.rs similarity index 99% rename from crates/torii/core/src/query_queue.rs rename to crates/torii/core/src/sql/query_queue.rs index dd80b04e9e..774f8fb6dd 100644 --- a/crates/torii/core/src/query_queue.rs +++ b/crates/torii/core/src/sql/query_queue.rs @@ -5,6 +5,7 @@ use dojo_types::schema::{Struct, Ty}; use sqlx::{FromRow, Pool, Sqlite}; use starknet::core::types::Felt; +use super::utils::felt_to_sql_string; use crate::simple_broker::SimpleBroker; use crate::types::{ Entity as EntityUpdated, Event as EventEmitted, EventMessage as EventMessageUpdated, @@ -81,7 +82,7 @@ impl QueryQueue { Argument::Int(integer) => query.bind(integer), Argument::Bool(bool) => query.bind(bool), Argument::String(string) => query.bind(string), - Argument::FieldElement(felt) => query.bind(format!("{:#x}", felt)), + Argument::FieldElement(felt) => query.bind(felt_to_sql_string(felt)), } } diff --git a/crates/torii/core/src/sql_test.rs b/crates/torii/core/src/sql/test.rs similarity index 81% rename from crates/torii/core/src/sql_test.rs rename to crates/torii/core/src/sql/test.rs index f31cacbb66..bd6fe9208a 100644 --- a/crates/torii/core/src/sql_test.rs +++ b/crates/torii/core/src/sql/test.rs @@ -1,3 +1,4 @@ +use std::collections::HashMap; use std::str::FromStr; use std::sync::Arc; @@ -17,16 +18,13 @@ use starknet::core::utils::{get_contract_address, get_selector_from_name}; use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::{JsonRpcClient, Provider}; use starknet_crypto::poseidon_hash_many; +use tempfile::NamedTempFile; use tokio::sync::broadcast; use crate::engine::{Engine, EngineConfig, Processors}; -use crate::processors::generate_event_processors_map; -use crate::processors::register_model::RegisterModelProcessor; -use crate::processors::store_del_record::StoreDelRecordProcessor; -use crate::processors::store_set_record::StoreSetRecordProcessor; -use crate::processors::store_update_member::StoreUpdateMemberProcessor; -use crate::processors::store_update_record::StoreUpdateRecordProcessor; +use crate::executor::Executor; use crate::sql::Sql; +use crate::types::ContractType; pub async fn bootstrap_engine

( world: WorldContractReader

, @@ -38,39 +36,29 @@ where { let (shutdown_tx, _) = broadcast::channel(1); let to = provider.block_hash_and_number().await?.block_number; + let world_address = world.address; let mut engine = Engine::new( world, - db, + db.clone(), provider, - Processors { - event: generate_event_processors_map(vec![ - Arc::new(RegisterModelProcessor), - Arc::new(StoreSetRecordProcessor), - Arc::new(StoreUpdateRecordProcessor), - Arc::new(StoreUpdateMemberProcessor), - Arc::new(StoreDelRecordProcessor), - ])?, - ..Processors::default() - }, + Processors { ..Processors::default() }, EngineConfig::default(), shutdown_tx, None, + Arc::new(HashMap::from([(world_address, ContractType::WORLD)])), ); - let data = engine.fetch_range(0, to, None).await.unwrap(); + let data = engine.fetch_range(0, to, &HashMap::new()).await.unwrap(); engine.process_range(data).await.unwrap(); + db.execute().await.unwrap(); + Ok(engine) } #[tokio::test(flavor = "multi_thread")] #[katana_runner::test(accounts = 10, db_dir = copy_spawn_and_move_db().as_str())] async fn test_load_from_remote(sequencer: &RunnerCtx) { - let options = - SqliteConnectOptions::from_str("sqlite::memory:").unwrap().create_if_missing(true); - let pool = SqlitePoolOptions::new().max_connections(5).connect_with(options).await.unwrap(); - sqlx::migrate!("../migrations").run(&pool).await.unwrap(); - let setup = CompilerTestSetup::from_examples("../../dojo-core", "../../../examples/"); let config = setup.build_test_config("spawn-and-move", Profile::DEV); @@ -121,9 +109,40 @@ async fn test_load_from_remote(sequencer: &RunnerCtx) { TransactionWaiter::new(tx.transaction_hash, &provider).await.unwrap(); + // move + let tx = &account + .execute_v1(vec![Call { + to: actions_address, + selector: get_selector_from_name("move").unwrap(), + calldata: vec![Felt::ONE], + }]) + .send() + .await + .unwrap(); + + TransactionWaiter::new(tx.transaction_hash, &provider).await.unwrap(); + let world_reader = WorldContractReader::new(strat.world_address, Arc::clone(&provider)); - let mut db = Sql::new(pool.clone(), world_reader.address).await.unwrap(); + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let options = SqliteConnectOptions::from_str(&path).unwrap().create_if_missing(true); + let pool = SqlitePoolOptions::new().connect_with(options).await.unwrap(); + sqlx::migrate!("../migrations").run(&pool).await.unwrap(); + + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + + let db = Sql::new( + pool.clone(), + sender.clone(), + &HashMap::from([(world_reader.address, ContractType::WORLD)]), + ) + .await + .unwrap(); let _ = bootstrap_engine(world_reader, db.clone(), provider).await.unwrap(); @@ -177,6 +196,7 @@ async fn test_load_from_remote(sequencer: &RunnerCtx) { assert_eq!(unpacked_size, 0); assert_eq!(count_table("entities", &pool).await, 2); + assert_eq!(count_table("event_messages", &pool).await, 2); let (id, keys): (String, String) = sqlx::query_as( format!( @@ -191,18 +211,11 @@ async fn test_load_from_remote(sequencer: &RunnerCtx) { assert_eq!(id, format!("{:#x}", poseidon_hash_many(&[account.address()]))); assert_eq!(keys, format!("{:#x}/", account.address())); - - db.execute().await.unwrap(); } #[tokio::test(flavor = "multi_thread")] #[katana_runner::test(accounts = 10, db_dir = copy_spawn_and_move_db().as_str())] async fn test_load_from_remote_del(sequencer: &RunnerCtx) { - let options = - SqliteConnectOptions::from_str("sqlite::memory:").unwrap().create_if_missing(true); - let pool = SqlitePoolOptions::new().max_connections(5).connect_with(options).await.unwrap(); - sqlx::migrate!("../migrations").run(&pool).await.unwrap(); - let setup = CompilerTestSetup::from_examples("../../dojo-core", "../../../examples/"); let config = setup.build_test_config("spawn-and-move", Profile::DEV); @@ -280,7 +293,25 @@ async fn test_load_from_remote_del(sequencer: &RunnerCtx) { let world_reader = WorldContractReader::new(strat.world_address, Arc::clone(&provider)); - let mut db = Sql::new(pool.clone(), world_reader.address).await.unwrap(); + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let options = SqliteConnectOptions::from_str(&path).unwrap().create_if_missing(true); + let pool = SqlitePoolOptions::new().connect_with(options).await.unwrap(); + sqlx::migrate!("../migrations").run(&pool).await.unwrap(); + + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + + let db = Sql::new( + pool.clone(), + sender.clone(), + &HashMap::from([(world_reader.address, ContractType::WORLD)]), + ) + .await + .unwrap(); let _ = bootstrap_engine(world_reader, db.clone(), provider).await; @@ -290,18 +321,11 @@ async fn test_load_from_remote_del(sequencer: &RunnerCtx) { // TODO: check how we can have a test that is more chronological with Torii re-syncing // to ensure we can test intermediate states. - - db.execute().await.unwrap(); } #[tokio::test(flavor = "multi_thread")] #[katana_runner::test(accounts = 10, db_dir = copy_spawn_and_move_db().as_str())] async fn test_update_with_set_record(sequencer: &RunnerCtx) { - let options = - SqliteConnectOptions::from_str("sqlite::memory:").unwrap().create_if_missing(true); - let pool = SqlitePoolOptions::new().max_connections(5).connect_with(options).await.unwrap(); - sqlx::migrate!("../migrations").run(&pool).await.unwrap(); - let setup = CompilerTestSetup::from_examples("../../dojo-core", "../../../examples/"); let config = setup.build_test_config("spawn-and-move", Profile::DEV); @@ -367,11 +391,27 @@ async fn test_update_with_set_record(sequencer: &RunnerCtx) { let world_reader = WorldContractReader::new(strat.world_address, Arc::clone(&provider)); - let mut db = Sql::new(pool.clone(), world_reader.address).await.unwrap(); + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let options = SqliteConnectOptions::from_str(&path).unwrap().create_if_missing(true); + let pool = SqlitePoolOptions::new().connect_with(options).await.unwrap(); + sqlx::migrate!("../migrations").run(&pool).await.unwrap(); - let _ = bootstrap_engine(world_reader, db.clone(), Arc::clone(&provider)).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + + let db = Sql::new( + pool.clone(), + sender.clone(), + &HashMap::from([(world_reader.address, ContractType::WORLD)]), + ) + .await + .unwrap(); - db.execute().await.unwrap(); + let _ = bootstrap_engine(world_reader, db.clone(), Arc::clone(&provider)).await.unwrap(); } /// Count the number of rows in a table. diff --git a/crates/torii/core/src/sql/utils.rs b/crates/torii/core/src/sql/utils.rs new file mode 100644 index 0000000000..66b345dd1a --- /dev/null +++ b/crates/torii/core/src/sql/utils.rs @@ -0,0 +1,333 @@ +use std::cmp::Ordering; +use std::ops::{Add, AddAssign, Sub, SubAssign}; + +use starknet::core::types::U256; +use starknet_crypto::Felt; + +use super::FELT_DELIMITER; + +pub fn felts_to_sql_string(felts: &[Felt]) -> String { + felts.iter().map(|k| format!("{:#x}", k)).collect::>().join(FELT_DELIMITER) + + FELT_DELIMITER +} + +pub fn felt_to_sql_string(felt: &Felt) -> String { + format!("{:#x}", felt) +} + +pub fn felt_and_u256_to_sql_string(felt: &Felt, u256: &U256) -> String { + format!("{}:{}", felt_to_sql_string(felt), u256_to_sql_string(u256)) +} + +pub fn u256_to_sql_string(u256: &U256) -> String { + format!("{:#064x}", u256) +} + +pub fn sql_string_to_u256(sql_string: &str) -> U256 { + let sql_string = sql_string.strip_prefix("0x").unwrap_or(sql_string); + U256::from(crypto_bigint::U256::from_be_hex(sql_string)) +} + +// type used to do calculation on inmemory balances +#[derive(Debug, Clone, Copy)] +pub struct I256 { + pub value: U256, + pub is_negative: bool, +} + +impl Default for I256 { + fn default() -> Self { + Self { value: U256::from(0u8), is_negative: false } + } +} + +impl From for I256 { + fn from(value: U256) -> Self { + Self { value, is_negative: false } + } +} + +impl From for I256 { + fn from(value: u8) -> Self { + Self { value: U256::from(value), is_negative: false } + } +} + +impl Add for I256 { + type Output = I256; + + fn add(self, other: I256) -> I256 { + // Special case: if both are negative zero, return positive zero + if self.value == U256::from(0u8) + && other.value == U256::from(0u8) + && self.is_negative + && other.is_negative + { + return I256 { value: U256::from(0u8), is_negative: false }; + } + + if self.is_negative == other.is_negative { + // Same sign: add the values and keep the sign + I256 { value: self.value + other.value, is_negative: self.is_negative } + } else { + // Different signs: subtract the smaller value from the larger one + match self.value.cmp(&other.value) { + Ordering::Greater => { + I256 { value: self.value - other.value, is_negative: self.is_negative } + } + Ordering::Less => { + I256 { value: other.value - self.value, is_negative: other.is_negative } + } + // If both values are equal, the result is zero and not negative + Ordering::Equal => I256 { value: U256::from(0u8), is_negative: false }, + } + } + } +} + +impl Sub for I256 { + type Output = I256; + + fn sub(self, other: I256) -> I256 { + let new_sign = if other.value == U256::from(0u8) { false } else { !other.is_negative }; + let negated_other = I256 { value: other.value, is_negative: new_sign }; + self.add(negated_other) + } +} + +impl AddAssign for I256 { + fn add_assign(&mut self, other: I256) { + *self = *self + other; + } +} + +impl SubAssign for I256 { + fn sub_assign(&mut self, other: I256) { + *self = *self - other; + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_add_zero_false_and_zero_false() { + // 0,false + 0,false == 0,false + let a = I256::default(); + let b = I256::default(); + let result = a + b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_zero_true_and_zero_false() { + // 0,true + 0,false == 0,false + let a = I256 { value: U256::from(0u8), is_negative: true }; + let b = I256::default(); + let result = a + b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_sub_zero_false_and_zero_false() { + // 0,false - 0,false == 0,false + let a = I256::default(); + let b = I256::default(); + let result = a - b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_sub_zero_true_and_zero_false() { + // 0,true - 0,false == 0,false + let a = I256 { value: U256::from(0u8), is_negative: true }; + let b = I256::default(); + let result = a - b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_positive_and_negative_equal_values() { + // 5,false + 5,true == 0,false + let a = I256::from(U256::from(5u8)); + let b = I256 { value: U256::from(5u8), is_negative: true }; + let result = a + b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_sub_positive_and_negative() { + // 10,false - 5,true == 15,false + let a = I256::from(U256::from(10u8)); + let b = I256 { value: U256::from(5u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(15u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_sub_larger_from_smaller() { + // 5,false - 10,true == 15,true + let a = I256::from(U256::from(5u8)); + let b = I256 { value: U256::from(10u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(15u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_mixed_signs() { + // 15,false + 10,true == 5,false + let a = I256::from(U256::from(15u8)); + let b = I256 { value: U256::from(10u8), is_negative: true }; + let result = a + b; + assert_eq!(result.value, U256::from(5u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_sub_mixed_signs() { + // 5,false - 10,true == 15,false + let a = I256::from(U256::from(5u8)); + let b = I256 { value: U256::from(10u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(15u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_negative_and_negative() { + // -5,true + -3,true == -8,true + let a = I256 { value: U256::from(5u8), is_negative: true }; + let b = I256 { value: U256::from(3u8), is_negative: true }; + let result = a + b; + assert_eq!(result.value, U256::from(8u8)); + assert!(result.is_negative); + } + + #[test] + fn test_sub_negative_and_negative() { + // -5,true - -3,true == -2,true + let a = I256 { value: U256::from(5u8), is_negative: true }; + let b = I256 { value: U256::from(3u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(2u8)); + assert!(result.is_negative); + } + + #[test] + fn test_subtraction_resulting_zero() { + // 5,false - 5,false == 0,false + let a = I256::from(U256::from(5u8)); + let b = I256::from(U256::from(5u8)); + let result = a - b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_subtraction_resulting_zero_negative() { + // 5,true - 5,true == 0,false + let a = I256 { value: U256::from(5u8), is_negative: true }; + let b = I256 { value: U256::from(5u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_negative_and_positive_result_positive() { + // -10,true + 15,false == 5,false + let a = I256 { value: U256::from(10u8), is_negative: true }; + let b = I256::from(U256::from(15u8)); + let result = a + b; + assert_eq!(result.value, U256::from(5u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_negative_and_positive_result_negative() { + // -15,true + 5,false == -10,true + let a = I256 { value: U256::from(15u8), is_negative: true }; + let b = I256::from(U256::from(5u8)); + let result = a + b; + assert_eq!(result.value, U256::from(10u8)); + assert!(result.is_negative); + } + + #[test] + fn test_add_zero_true_and_fifteen_true() { + // 0,true + 15,true == 15,true + let a = I256 { value: U256::from(0u8), is_negative: true }; + let b = I256 { value: U256::from(15u8), is_negative: true }; + let result = a + b; + assert_eq!(result.value, U256::from(15u8)); + assert!(result.is_negative); + } + + #[test] + fn test_sub_zero_true_and_fifteen_true() { + // 0,true - 15,true == 15,false + let a = I256 { value: U256::from(0u8), is_negative: true }; + let b = I256 { value: U256::from(15u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(15u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_fifteen_true_and_zero_true() { + // 15,true + 0,true == 15,true + let a = I256 { value: U256::from(15u8), is_negative: true }; + let b = I256 { value: U256::from(0u8), is_negative: true }; + let result = a + b; + assert_eq!(result.value, U256::from(15u8)); + assert!(result.is_negative); + } + + #[test] + fn test_sub_fifteen_true_and_zero_true() { + // 15,true - 0,true == 15,true + let a = I256 { value: U256::from(15u8), is_negative: true }; + let b = I256 { value: U256::from(0u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(15u8)); + assert!(result.is_negative); + } + + #[test] + fn test_negative_zero() { + // 0,true + 0,true == 0,false + let a = I256 { value: U256::from(0u8), is_negative: true }; + let b = I256 { value: U256::from(0u8), is_negative: true }; + let result = a + b; + assert_eq!(result.value, U256::from(0u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_sub_positive_and_negative_zero() { + // 15,false - 0,true == 15,false + let a = I256::from(U256::from(15u8)); + let b = I256 { value: U256::from(0u8), is_negative: true }; + let result = a - b; + assert_eq!(result.value, U256::from(15u8)); + assert!(!result.is_negative); + } + + #[test] + fn test_add_positive_and_negative_zero() { + // 15,false + 0,true == 15,false + let a = I256::from(U256::from(15u8)); + let b = I256 { value: U256::from(0u8), is_negative: true }; + let result = a + b; + assert_eq!(result.value, U256::from(15u8)); + assert!(!result.is_negative); + } +} diff --git a/crates/torii/core/src/types.rs b/crates/torii/core/src/types.rs index de75fca94a..254a095517 100644 --- a/crates/torii/core/src/types.rs +++ b/crates/torii/core/src/types.rs @@ -1,4 +1,7 @@ use core::fmt; +use std::collections::VecDeque; +use std::path::PathBuf; +use std::str::FromStr; use chrono::{DateTime, Utc}; use dojo_types::schema::Ty; @@ -46,6 +49,23 @@ pub struct Entity { pub deleted: bool, } +#[derive(FromRow, Deserialize, Debug, Clone)] +#[serde(rename_all = "camelCase")] +pub struct OptimisticEntity { + pub id: String, + pub keys: String, + pub event_id: String, + pub executed_at: DateTime, + pub created_at: DateTime, + pub updated_at: DateTime, + + // this should never be None + #[sqlx(skip)] + pub updated_model: Option, + #[sqlx(skip)] + pub deleted: bool, +} + #[derive(FromRow, Deserialize, Debug, Clone)] #[serde(rename_all = "camelCase")] pub struct EventMessage { @@ -61,6 +81,21 @@ pub struct EventMessage { pub updated_model: Option, } +#[derive(FromRow, Deserialize, Debug, Clone)] +#[serde(rename_all = "camelCase")] +pub struct OptimisticEventMessage { + pub id: String, + pub keys: String, + pub event_id: String, + pub executed_at: DateTime, + pub created_at: DateTime, + pub updated_at: DateTime, + + // this should never be None + #[sqlx(skip)] + pub updated_model: Option, +} + #[derive(FromRow, Deserialize, Debug, Clone)] #[serde(rename_all = "camelCase")] pub struct Model { @@ -84,3 +119,64 @@ pub struct Event { pub executed_at: DateTime, pub created_at: DateTime, } + +#[derive(Default, Deserialize, Debug, Clone)] +pub struct ToriiConfig { + /// contract addresses to index + pub contracts: VecDeque, +} + +impl ToriiConfig { + pub fn load_from_path(path: &PathBuf) -> Result { + let config = std::fs::read_to_string(path)?; + let config: Self = toml::from_str(&config)?; + Ok(config) + } +} + +#[derive(Deserialize, Debug, Clone, Copy)] +pub struct Contract { + pub address: Felt, + pub r#type: ContractType, +} + +#[derive(Deserialize, Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub enum ContractType { + WORLD, + ERC20, + ERC721, +} + +impl FromStr for ContractType { + type Err = anyhow::Error; + + fn from_str(input: &str) -> Result { + match input.to_lowercase().as_str() { + "world" => Ok(ContractType::WORLD), + "erc20" => Ok(ContractType::ERC20), + "erc721" => Ok(ContractType::ERC721), + _ => Err(anyhow::anyhow!("Invalid ERC type: {}", input)), + } + } +} + +impl std::fmt::Display for ContractType { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + ContractType::WORLD => write!(f, "WORLD"), + ContractType::ERC20 => write!(f, "ERC20"), + ContractType::ERC721 => write!(f, "ERC721"), + } + } +} + +#[derive(FromRow, Deserialize, Debug, Clone, Default)] +#[serde(rename_all = "camelCase")] +pub struct ContractCursor { + pub head: i64, + pub tps: i64, + pub last_block_timestamp: i64, + pub contract_address: String, + pub last_pending_block_tx: Option, + pub last_pending_block_contract_tx: Option, +} diff --git a/crates/torii/graphql/Cargo.toml b/crates/torii/graphql/Cargo.toml index 464dddefb6..7ec5edc7a1 100644 --- a/crates/torii/graphql/Cargo.toml +++ b/crates/torii/graphql/Cargo.toml @@ -13,38 +13,35 @@ anyhow.workspace = true async-graphql = { version = "6.0.7", features = [ "chrono", "dynamic-schema" ] } async-graphql-warp = "6.0.7" async-recursion = "1.0.5" -async-trait.workspace = true base64.workspace = true -cainome.workspace = true chrono.workspace = true convert_case = "0.6.0" -dojo-types = { path = "../../dojo-types" } +dojo-types.workspace = true lazy_static.workspace = true regex.workspace = true -scarb-ui.workspace = true serde.workspace = true serde_json.workspace = true -sozo-ops.workspace = true sqlx.workspace = true +starknet-crypto.workspace = true strum.workspace = true strum_macros.workspace = true thiserror.workspace = true -tokio-stream = "0.1.11" -tokio-util = "0.7.7" tokio.workspace = true -toml.workspace = true -torii-core = { path = "../core" } +tokio-stream = "0.1.11" +torii-core.workspace = true tracing.workspace = true url.workspace = true warp.workspace = true [dev-dependencies] camino.workspace = true -dojo-test-utils = { path = "../../dojo-test-utils", features = [ "build-examples" ] } +dojo-test-utils = { workspace = true, features = [ "build-examples" ] } dojo-utils.workspace = true dojo-world.workspace = true katana-runner.workspace = true scarb.workspace = true serial_test = "2.0.0" -starknet-crypto.workspace = true starknet.workspace = true +starknet-crypto.workspace = true +tempfile.workspace = true +toml.workspace = true diff --git a/crates/torii/graphql/src/constants.rs b/crates/torii/graphql/src/constants.rs index e09c8de6d2..2d851f07b1 100644 --- a/crates/torii/graphql/src/constants.rs +++ b/crates/torii/graphql/src/constants.rs @@ -33,6 +33,9 @@ pub const QUERY_TYPE_NAME: &str = "World__Query"; pub const SUBSCRIPTION_TYPE_NAME: &str = "World__Subscription"; pub const MODEL_ORDER_TYPE_NAME: &str = "World__ModelOrder"; pub const MODEL_ORDER_FIELD_TYPE_NAME: &str = "World__ModelOrderField"; +pub const ERC_BALANCE_TYPE_NAME: &str = "ERC__Balance"; +pub const ERC_TRANSFER_TYPE_NAME: &str = "ERC__Transfer"; +pub const ERC_TOKEN_TYPE_NAME: &str = "ERC__Token"; // objects' single and plural names pub const ENTITY_NAMES: (&str, &str) = ("entity", "entities"); @@ -45,6 +48,10 @@ pub const METADATA_NAMES: (&str, &str) = ("metadata", "metadatas"); pub const TRANSACTION_NAMES: (&str, &str) = ("transaction", "transactions"); pub const PAGE_INFO_NAMES: (&str, &str) = ("pageInfo", ""); +pub const ERC_BALANCE_NAME: (&str, &str) = ("ercBalance", ""); +pub const ERC_TOKEN_NAME: (&str, &str) = ("ercToken", ""); +pub const ERC_TRANSFER_NAME: (&str, &str) = ("ercTransfer", ""); + // misc pub const ORDER_DIR_TYPE_NAME: &str = "OrderDirection"; pub const ORDER_ASC: &str = "ASC"; diff --git a/crates/torii/graphql/src/error.rs b/crates/torii/graphql/src/error.rs index d00969f98b..83834c9f35 100644 --- a/crates/torii/graphql/src/error.rs +++ b/crates/torii/graphql/src/error.rs @@ -9,6 +9,8 @@ pub enum ExtractError { NotList(String), #[error("Not a string: {0}")] NotString(String), + #[error("Not a felt: {0}")] + NotFelt(String), #[error("Not a number: {0}")] NotNumber(String), } diff --git a/crates/torii/graphql/src/lib.rs b/crates/torii/graphql/src/lib.rs index 6925744b44..d9c57ed18d 100644 --- a/crates/torii/graphql/src/lib.rs +++ b/crates/torii/graphql/src/lib.rs @@ -1,3 +1,5 @@ +#![warn(unused_crate_dependencies)] + pub mod object; mod constants; diff --git a/crates/torii/graphql/src/mapping.rs b/crates/torii/graphql/src/mapping.rs index 1086373bca..089d2a6b51 100644 --- a/crates/torii/graphql/src/mapping.rs +++ b/crates/torii/graphql/src/mapping.rs @@ -4,7 +4,7 @@ use async_graphql::Name; use dojo_types::primitive::Primitive; use lazy_static::lazy_static; -use crate::constants::{CONTENT_TYPE_NAME, SOCIAL_TYPE_NAME}; +use crate::constants::{CONTENT_TYPE_NAME, ERC_TOKEN_TYPE_NAME, SOCIAL_TYPE_NAME}; use crate::types::{GraphqlType, TypeData, TypeMapping}; lazy_static! { @@ -144,4 +144,28 @@ lazy_static! { TypeData::Simple(TypeRef::named(GraphqlType::DateTime.to_string())) ), ]); + + pub static ref ERC_BALANCE_TYPE_MAPPING: TypeMapping = IndexMap::from([ + (Name::new("balance"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("type"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("tokenMetadata"), TypeData::Simple(TypeRef::named_nn(ERC_TOKEN_TYPE_NAME))), + ]); + + pub static ref ERC_TRANSFER_TYPE_MAPPING: TypeMapping = IndexMap::from([ + (Name::new("from"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("to"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("amount"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("type"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("executedAt"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("tokenMetadata"), TypeData::Simple(TypeRef::named_nn(ERC_TOKEN_TYPE_NAME))), + (Name::new("transactionHash"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + ]); + + pub static ref ERC_TOKEN_TYPE_MAPPING: TypeMapping = IndexMap::from([ + (Name::new("name"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("symbol"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("tokenId"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("decimals"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + (Name::new("contractAddress"), TypeData::Simple(TypeRef::named_nn(TypeRef::STRING))), + ]); } diff --git a/crates/torii/graphql/src/object/erc/erc_balance.rs b/crates/torii/graphql/src/object/erc/erc_balance.rs new file mode 100644 index 0000000000..a749350fee --- /dev/null +++ b/crates/torii/graphql/src/object/erc/erc_balance.rs @@ -0,0 +1,143 @@ +use async_graphql::dynamic::{Field, FieldFuture, InputValue, TypeRef}; +use async_graphql::{Name, Value}; +use convert_case::{Case, Casing}; +use serde::Deserialize; +use sqlx::{FromRow, Pool, Sqlite, SqliteConnection}; +use starknet_crypto::Felt; +use torii_core::sql::utils::felt_to_sql_string; +use tracing::warn; + +use crate::constants::{ERC_BALANCE_NAME, ERC_BALANCE_TYPE_NAME}; +use crate::mapping::ERC_BALANCE_TYPE_MAPPING; +use crate::object::{BasicObject, ResolvableObject}; +use crate::types::{TypeMapping, ValueMapping}; +use crate::utils::extract; + +#[derive(Debug)] +pub struct ErcBalanceObject; + +impl BasicObject for ErcBalanceObject { + fn name(&self) -> (&str, &str) { + ERC_BALANCE_NAME + } + + fn type_name(&self) -> &str { + ERC_BALANCE_TYPE_NAME + } + + fn type_mapping(&self) -> &TypeMapping { + &ERC_BALANCE_TYPE_MAPPING + } +} + +impl ResolvableObject for ErcBalanceObject { + fn resolvers(&self) -> Vec { + let account_address = "account_address"; + let argument = InputValue::new( + account_address.to_case(Case::Camel), + TypeRef::named_nn(TypeRef::STRING), + ); + + let field = Field::new(self.name().0, TypeRef::named_list(self.type_name()), move |ctx| { + FieldFuture::new(async move { + let mut conn = ctx.data::>()?.acquire().await?; + let address = extract::( + ctx.args.as_index_map(), + &account_address.to_case(Case::Camel), + )?; + + let erc_balances = fetch_erc_balances(&mut conn, address).await?; + + Ok(Some(Value::List(erc_balances))) + }) + }) + .argument(argument); + vec![field] + } +} + +async fn fetch_erc_balances( + conn: &mut SqliteConnection, + address: Felt, +) -> sqlx::Result> { + let query = "SELECT t.contract_address, t.name, t.symbol, t.decimals, b.balance, b.token_id, \ + c.contract_type + FROM balances b + JOIN tokens t ON b.token_id = t.id + JOIN contracts c ON t.contract_address = c.contract_address + WHERE b.account_address = ?"; + + let rows = sqlx::query(query).bind(felt_to_sql_string(&address)).fetch_all(conn).await?; + + let mut erc_balances = Vec::new(); + + for row in rows { + let row = BalanceQueryResultRaw::from_row(&row)?; + + let balance_value = match row.contract_type.to_lowercase().as_str() { + "erc20" => { + let token_metadata = Value::Object(ValueMapping::from([ + (Name::new("name"), Value::String(row.name)), + (Name::new("symbol"), Value::String(row.symbol)), + // for erc20 there is no token_id + (Name::new("tokenId"), Value::Null), + (Name::new("decimals"), Value::String(row.decimals.to_string())), + (Name::new("contractAddress"), Value::String(row.contract_address.clone())), + ])); + + Value::Object(ValueMapping::from([ + (Name::new("balance"), Value::String(row.balance)), + (Name::new("type"), Value::String(row.contract_type)), + (Name::new("tokenMetadata"), token_metadata), + ])) + } + "erc721" => { + // contract_address:token_id + let token_id = row.token_id.split(':').collect::>(); + assert!(token_id.len() == 2); + + let token_metadata = Value::Object(ValueMapping::from([ + (Name::new("contractAddress"), Value::String(row.contract_address.clone())), + (Name::new("name"), Value::String(row.name)), + (Name::new("symbol"), Value::String(row.symbol)), + (Name::new("tokenId"), Value::String(token_id[1].to_string())), + (Name::new("decimals"), Value::String(row.decimals.to_string())), + ])); + + Value::Object(ValueMapping::from([ + (Name::new("balance"), Value::String(row.balance)), + (Name::new("type"), Value::String(row.contract_type)), + (Name::new("tokenMetadata"), token_metadata), + ])) + } + _ => { + warn!("Unknown contract type: {}", row.contract_type); + continue; + } + }; + + erc_balances.push(balance_value); + } + + Ok(erc_balances) +} + +// TODO: This would be required when subscriptions are needed +// impl ErcBalanceObject { +// pub fn value_mapping(entity: ErcBalance) -> ValueMapping { +// IndexMap::from([ +// ]) +// } +// } + +#[derive(FromRow, Deserialize, Debug, Clone)] +#[serde(rename_all = "camelCase")] +struct BalanceQueryResultRaw { + pub contract_address: String, + pub name: String, + pub symbol: String, + pub decimals: u8, + pub token_id: String, + pub balance: String, + pub contract_type: String, +} diff --git a/crates/torii/graphql/src/object/erc/erc_token.rs b/crates/torii/graphql/src/object/erc/erc_token.rs new file mode 100644 index 0000000000..14b8de7877 --- /dev/null +++ b/crates/torii/graphql/src/object/erc/erc_token.rs @@ -0,0 +1,21 @@ +use crate::constants::{ERC_TOKEN_NAME, ERC_TOKEN_TYPE_NAME}; +use crate::mapping::ERC_TOKEN_TYPE_MAPPING; +use crate::object::BasicObject; +use crate::types::TypeMapping; + +#[derive(Debug)] +pub struct ErcTokenObject; + +impl BasicObject for ErcTokenObject { + fn name(&self) -> (&str, &str) { + ERC_TOKEN_NAME + } + + fn type_name(&self) -> &str { + ERC_TOKEN_TYPE_NAME + } + + fn type_mapping(&self) -> &TypeMapping { + &ERC_TOKEN_TYPE_MAPPING + } +} diff --git a/crates/torii/graphql/src/object/erc/erc_transfer.rs b/crates/torii/graphql/src/object/erc/erc_transfer.rs new file mode 100644 index 0000000000..ee522fef20 --- /dev/null +++ b/crates/torii/graphql/src/object/erc/erc_transfer.rs @@ -0,0 +1,187 @@ +use async_graphql::dynamic::{Field, FieldFuture, InputValue, TypeRef}; +use async_graphql::{Name, Value}; +use convert_case::{Case, Casing}; +use serde::Deserialize; +use sqlx::{FromRow, Pool, Sqlite, SqliteConnection}; +use starknet_crypto::Felt; +use torii_core::engine::get_transaction_hash_from_event_id; +use torii_core::sql::utils::felt_to_sql_string; +use tracing::warn; + +use crate::constants::{ERC_TRANSFER_NAME, ERC_TRANSFER_TYPE_NAME}; +use crate::mapping::ERC_TRANSFER_TYPE_MAPPING; +use crate::object::{BasicObject, ResolvableObject}; +use crate::types::{TypeMapping, ValueMapping}; +use crate::utils::extract; + +#[derive(Debug)] +pub struct ErcTransferObject; + +impl BasicObject for ErcTransferObject { + fn name(&self) -> (&str, &str) { + ERC_TRANSFER_NAME + } + + fn type_name(&self) -> &str { + ERC_TRANSFER_TYPE_NAME + } + + fn type_mapping(&self) -> &TypeMapping { + &ERC_TRANSFER_TYPE_MAPPING + } +} + +impl ResolvableObject for ErcTransferObject { + fn resolvers(&self) -> Vec { + let account_address = "account_address"; + let limit = "limit"; + let arg_addr = InputValue::new( + account_address.to_case(Case::Camel), + TypeRef::named_nn(TypeRef::STRING), + ); + let arg_limit = + InputValue::new(limit.to_case(Case::Camel), TypeRef::named_nn(TypeRef::INT)); + + let field = Field::new(self.name().0, TypeRef::named_list(self.type_name()), move |ctx| { + FieldFuture::new(async move { + let mut conn = ctx.data::>()?.acquire().await?; + let address = extract::( + ctx.args.as_index_map(), + &account_address.to_case(Case::Camel), + )?; + let limit = extract::(ctx.args.as_index_map(), &limit.to_case(Case::Camel))?; + let limit: u32 = limit.try_into()?; + + let erc_transfers = fetch_erc_transfers(&mut conn, address, limit).await?; + + Ok(Some(Value::List(erc_transfers))) + }) + }) + .argument(arg_addr) + .argument(arg_limit); + vec![field] + } +} + +async fn fetch_erc_transfers( + conn: &mut SqliteConnection, + address: Felt, + limit: u32, +) -> sqlx::Result> { + let query = format!( + r#" +SELECT + et.id, + et.contract_address, + et.from_address, + et.to_address, + et.amount, + et.token_id, + et.executed_at, + t.name, + t.symbol, + t.decimals, + c.contract_type +FROM + erc_transfers et +JOIN + tokens t ON et.token_id = t.id +JOIN + contracts c ON t.contract_address = c.contract_address +WHERE + et.from_address = ? OR et.to_address = ? +ORDER BY + et.executed_at DESC +LIMIT {}; +"#, + limit + ); + + let address = felt_to_sql_string(&address); + let rows = sqlx::query(&query).bind(&address).bind(&address).fetch_all(conn).await?; + + let mut erc_balances = Vec::new(); + + for row in rows { + let row = TransferQueryResultRaw::from_row(&row)?; + let transaction_hash = get_transaction_hash_from_event_id(&row.id); + + let transfer_value = match row.contract_type.to_lowercase().as_str() { + "erc20" => { + let token_metadata = Value::Object(ValueMapping::from([ + (Name::new("name"), Value::String(row.name)), + (Name::new("symbol"), Value::String(row.symbol)), + // for erc20 there is no token_id + (Name::new("tokenId"), Value::Null), + (Name::new("decimals"), Value::String(row.decimals.to_string())), + (Name::new("contractAddress"), Value::String(row.contract_address.clone())), + ])); + + Value::Object(ValueMapping::from([ + (Name::new("from"), Value::String(row.from_address)), + (Name::new("to"), Value::String(row.to_address)), + (Name::new("amount"), Value::String(row.amount)), + (Name::new("type"), Value::String(row.contract_type)), + (Name::new("executedAt"), Value::String(row.executed_at)), + (Name::new("tokenMetadata"), token_metadata), + (Name::new("transactionHash"), Value::String(transaction_hash)), + ])) + } + "erc721" => { + // contract_address:token_id + let token_id = row.token_id.split(':').collect::>(); + assert!(token_id.len() == 2); + + let token_metadata = Value::Object(ValueMapping::from([ + (Name::new("name"), Value::String(row.name)), + (Name::new("symbol"), Value::String(row.symbol)), + (Name::new("tokenId"), Value::String(token_id[1].to_string())), + (Name::new("decimals"), Value::String(row.decimals.to_string())), + (Name::new("contractAddress"), Value::String(row.contract_address.clone())), + ])); + + Value::Object(ValueMapping::from([ + (Name::new("from"), Value::String(row.from_address)), + (Name::new("to"), Value::String(row.to_address)), + (Name::new("amount"), Value::String(row.amount)), + (Name::new("type"), Value::String(row.contract_type)), + (Name::new("executedAt"), Value::String(row.executed_at)), + (Name::new("tokenMetadata"), token_metadata), + (Name::new("transactionHash"), Value::String(transaction_hash)), + ])) + } + _ => { + warn!("Unknown contract type: {}", row.contract_type); + continue; + } + }; + + erc_balances.push(transfer_value); + } + + Ok(erc_balances) +} + +// TODO: This would be required when subscriptions are needed +// impl ErcTransferObject { +// pub fn value_mapping(entity: ErcBalance) -> ValueMapping { +// IndexMap::from([ +// ]) +// } +// } + +#[derive(FromRow, Deserialize, Debug, Clone)] +#[serde(rename_all = "camelCase")] +struct TransferQueryResultRaw { + pub id: String, + pub contract_address: String, + pub from_address: String, + pub to_address: String, + pub token_id: String, + pub amount: String, + pub executed_at: String, + pub name: String, + pub symbol: String, + pub decimals: u8, + pub contract_type: String, +} diff --git a/crates/torii/graphql/src/object/erc/mod.rs b/crates/torii/graphql/src/object/erc/mod.rs new file mode 100644 index 0000000000..eac2c5510b --- /dev/null +++ b/crates/torii/graphql/src/object/erc/mod.rs @@ -0,0 +1,3 @@ +pub mod erc_balance; +pub mod erc_token; +pub mod erc_transfer; diff --git a/crates/torii/graphql/src/object/mod.rs b/crates/torii/graphql/src/object/mod.rs index c1046ffbe4..8997cdabe3 100644 --- a/crates/torii/graphql/src/object/mod.rs +++ b/crates/torii/graphql/src/object/mod.rs @@ -1,5 +1,6 @@ pub mod connection; pub mod entity; +pub mod erc; pub mod event; pub mod event_message; pub mod inputs; diff --git a/crates/torii/graphql/src/schema.rs b/crates/torii/graphql/src/schema.rs index 48a915345b..5f70c49908 100644 --- a/crates/torii/graphql/src/schema.rs +++ b/crates/torii/graphql/src/schema.rs @@ -10,6 +10,9 @@ use super::object::model_data::ModelDataObject; use super::types::ScalarType; use super::utils; use crate::constants::{QUERY_TYPE_NAME, SUBSCRIPTION_TYPE_NAME}; +use crate::object::erc::erc_balance::ErcBalanceObject; +use crate::object::erc::erc_token::ErcTokenObject; +use crate::object::erc::erc_transfer::ErcTransferObject; use crate::object::event_message::EventMessageObject; use crate::object::metadata::content::ContentObject; use crate::object::metadata::social::SocialObject; @@ -28,6 +31,7 @@ pub async fn build_schema(pool: &SqlitePool) -> Result { let (objects, unions) = build_objects(pool).await?; let mut schema_builder = Schema::build(QUERY_TYPE_NAME, None, Some(SUBSCRIPTION_TYPE_NAME)); + //? why we need to provide QUERY_TYPE_NAME object here when its already passed to Schema? let mut query_root = Object::new(QUERY_TYPE_NAME); let mut subscription_root = Subscription::new(SUBSCRIPTION_TYPE_NAME); @@ -112,9 +116,12 @@ async fn build_objects(pool: &SqlitePool) -> Result<(Vec, Vec Result<()> { - let pool = spinup_types_test().await?; + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let pool = spinup_types_test(&path).await?; let schema = build_schema(&pool).await.unwrap(); // default without params diff --git a/crates/torii/graphql/src/tests/metadata_test.rs b/crates/torii/graphql/src/tests/metadata_test.rs index 53ff0367ff..24224eb6b0 100644 --- a/crates/torii/graphql/src/tests/metadata_test.rs +++ b/crates/torii/graphql/src/tests/metadata_test.rs @@ -1,10 +1,15 @@ #[cfg(test)] mod tests { + use std::collections::HashMap; + use dojo_world::config::ProfileConfig; use dojo_world::metadata::WorldMetadata; use sqlx::SqlitePool; use starknet::core::types::Felt; + use tokio::sync::broadcast; + use torii_core::executor::Executor; use torii_core::sql::Sql; + use torii_core::types::ContractType; use crate::schema::build_schema; use crate::tests::{run_graphql_query, Connection, Content, Metadata as SqlMetadata, Social}; @@ -48,7 +53,16 @@ mod tests { #[sqlx::test(migrations = "../migrations")] async fn test_metadata(pool: SqlitePool) { - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); let schema = build_schema(&pool).await.unwrap(); let cover_img = "QWxsIHlvdXIgYmFzZSBiZWxvbmcgdG8gdXM="; @@ -70,9 +84,8 @@ mod tests { // TODO: we may want to store here the namespace and the seed. Check the // implementation to actually add those to the metadata table. let world_metadata: WorldMetadata = profile_config.world.into(); - db.set_metadata(&RESOURCE, URI, BLOCK_TIMESTAMP); + db.set_metadata(&RESOURCE, URI, BLOCK_TIMESTAMP).unwrap(); db.update_metadata(&RESOURCE, URI, &world_metadata, &None, &Some(cover_img.to_string())) - .await .unwrap(); db.execute().await.unwrap(); @@ -101,10 +114,19 @@ mod tests { #[sqlx::test(migrations = "../migrations")] async fn test_empty_content(pool: SqlitePool) { - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); let schema = build_schema(&pool).await.unwrap(); - db.set_metadata(&RESOURCE, URI, BLOCK_TIMESTAMP); + db.set_metadata(&RESOURCE, URI, BLOCK_TIMESTAMP).unwrap(); db.execute().await.unwrap(); let result = run_graphql_query(&schema, QUERY).await; diff --git a/crates/torii/graphql/src/tests/mod.rs b/crates/torii/graphql/src/tests/mod.rs index 133b46075e..d12c4c5e80 100644 --- a/crates/torii/graphql/src/tests/mod.rs +++ b/crates/torii/graphql/src/tests/mod.rs @@ -1,3 +1,4 @@ +use std::collections::HashMap; use std::str::FromStr; use std::sync::Arc; @@ -27,11 +28,9 @@ use starknet::providers::{JsonRpcClient, Provider}; use tokio::sync::broadcast; use tokio_stream::StreamExt; use torii_core::engine::{Engine, EngineConfig, Processors}; -use torii_core::processors::generate_event_processors_map; -use torii_core::processors::register_model::RegisterModelProcessor; -use torii_core::processors::store_del_record::StoreDelRecordProcessor; -use torii_core::processors::store_set_record::StoreSetRecordProcessor; +use torii_core::executor::Executor; use torii_core::sql::Sql; +use torii_core::types::ContractType; mod entities_test; mod events_test; @@ -274,11 +273,10 @@ pub async fn model_fixtures(db: &mut Sql) { db.execute().await.unwrap(); } -pub async fn spinup_types_test() -> Result { - // change sqlite::memory: to sqlite:~/.test.db to dump database to disk +pub async fn spinup_types_test(path: &str) -> Result { let options = - SqliteConnectOptions::from_str("sqlite::memory:")?.create_if_missing(true).with_regexp(); - let pool = SqlitePoolOptions::new().max_connections(5).connect_with(options).await.unwrap(); + SqliteConnectOptions::from_str(path).unwrap().create_if_missing(true).with_regexp(); + let pool = SqlitePoolOptions::new().connect_with(options).await.unwrap(); sqlx::migrate!("../migrations").run(&pool).await.unwrap(); let setup = CompilerTestSetup::from_paths("../../dojo-core", &["../types-test"]); @@ -333,7 +331,7 @@ pub async fn spinup_types_test() -> Result { .await .unwrap(); - TransactionWaiter::new(transaction_hash, &provider).await?; + TransactionWaiter::new(transaction_hash, &account.provider()).await?; // Execute `delete` and delete Record with id 20 let InvokeTransactionResult { transaction_hash } = account @@ -350,30 +348,34 @@ pub async fn spinup_types_test() -> Result { let world = WorldContractReader::new(strat.world_address, Arc::clone(&provider)); - let db = Sql::new(pool.clone(), strat.world_address).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let db = Sql::new( + pool.clone(), + sender, + &HashMap::from([(strat.world_address, ContractType::WORLD)]), + ) + .await + .unwrap(); let (shutdown_tx, _) = broadcast::channel(1); let mut engine = Engine::new( world, - db, + db.clone(), Arc::clone(&provider), - Processors { - event: generate_event_processors_map(vec![ - Arc::new(RegisterModelProcessor), - Arc::new(StoreSetRecordProcessor), - Arc::new(StoreDelRecordProcessor), - ]) - .unwrap(), - ..Processors::default() - }, + Processors { ..Processors::default() }, EngineConfig::default(), shutdown_tx, None, + Arc::new(HashMap::from([(strat.world_address, ContractType::WORLD)])), ); let to = account.provider().block_hash_and_number().await?.block_number; - let data = engine.fetch_range(0, to, None).await.unwrap(); + let data = engine.fetch_range(0, to, &HashMap::new()).await.unwrap(); engine.process_range(data).await.unwrap(); - + db.execute().await.unwrap(); Ok(pool) } diff --git a/crates/torii/graphql/src/tests/models_ordering_test.rs b/crates/torii/graphql/src/tests/models_ordering_test.rs index 9b4abdf26e..42182182fa 100644 --- a/crates/torii/graphql/src/tests/models_ordering_test.rs +++ b/crates/torii/graphql/src/tests/models_ordering_test.rs @@ -3,6 +3,7 @@ mod tests { use anyhow::Result; use async_graphql::dynamic::Schema; use serde_json::Value; + use tempfile::NamedTempFile; use crate::schema::build_schema; use crate::tests::{run_graphql_query, spinup_types_test, Connection, WorldModel}; @@ -44,7 +45,9 @@ mod tests { // to run so combine all related tests into one #[tokio::test(flavor = "multi_thread")] async fn models_ordering_test() -> Result<()> { - let pool = spinup_types_test().await?; + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let pool = spinup_types_test(&path).await?; let schema = build_schema(&pool).await.unwrap(); // default params, test entity relationship, test nested types diff --git a/crates/torii/graphql/src/tests/models_test.rs b/crates/torii/graphql/src/tests/models_test.rs index 163d9afc41..78cd6f5458 100644 --- a/crates/torii/graphql/src/tests/models_test.rs +++ b/crates/torii/graphql/src/tests/models_test.rs @@ -6,6 +6,7 @@ mod tests { use async_graphql::dynamic::Schema; use serde_json::Value; use starknet::core::types::Felt; + use tempfile::NamedTempFile; use crate::schema::build_schema; use crate::tests::{ @@ -166,7 +167,9 @@ mod tests { #[allow(clippy::get_first)] #[tokio::test(flavor = "multi_thread")] async fn models_test() -> Result<()> { - let pool = spinup_types_test().await?; + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let pool = spinup_types_test(&path).await?; let schema = build_schema(&pool).await.unwrap(); // we need to order all the records because insertions are done in parallel diff --git a/crates/torii/graphql/src/tests/subscription_test.rs b/crates/torii/graphql/src/tests/subscription_test.rs index 363082878a..f35b60fcc6 100644 --- a/crates/torii/graphql/src/tests/subscription_test.rs +++ b/crates/torii/graphql/src/tests/subscription_test.rs @@ -1,5 +1,6 @@ #[cfg(test)] mod tests { + use std::collections::HashMap; use std::str::FromStr; use std::time::Duration; @@ -12,8 +13,11 @@ mod tests { use sqlx::SqlitePool; use starknet::core::types::Event; use starknet_crypto::{poseidon_hash_many, Felt}; - use tokio::sync::mpsc; - use torii_core::sql::{felts_sql_string, Sql}; + use tokio::sync::{broadcast, mpsc}; + use torii_core::executor::Executor; + use torii_core::sql::utils::felts_to_sql_string; + use torii_core::sql::Sql; + use torii_core::types::ContractType; use crate::tests::{model_fixtures, run_graphql_subscription}; use crate::utils; @@ -21,7 +25,16 @@ mod tests { #[sqlx::test(migrations = "../migrations")] #[serial] async fn test_entity_subscription(pool: SqlitePool) { - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); model_fixtures(&mut db).await; // 0. Preprocess expected entity value @@ -104,7 +117,7 @@ mod tests { ], }); let keys = keys_from_ty(&ty).unwrap(); - let keys_str = felts_sql_string(&keys); + let keys_str = felts_to_sql_string(&keys); let entity_id = poseidon_hash_many(&keys); let model_id = model_id_from_ty(&ty); @@ -156,7 +169,16 @@ mod tests { #[sqlx::test(migrations = "../migrations")] #[serial] async fn test_entity_subscription_with_id(pool: SqlitePool) { - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); model_fixtures(&mut db).await; // 0. Preprocess expected entity value @@ -222,7 +244,7 @@ mod tests { }); let keys = keys_from_ty(&ty).unwrap(); - let keys_str = felts_sql_string(&keys); + let keys_str = felts_to_sql_string(&keys); let entity_id = poseidon_hash_many(&keys); let model_id = model_id_from_ty(&ty); @@ -271,7 +293,16 @@ mod tests { #[sqlx::test(migrations = "../migrations")] #[serial] async fn test_model_subscription(pool: SqlitePool) { - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); // 0. Preprocess model value let namespace = "types_test".to_string(); let model_name = "Subrecord".to_string(); @@ -336,7 +367,16 @@ mod tests { #[sqlx::test(migrations = "../migrations")] #[serial] async fn test_model_subscription_with_id(pool: SqlitePool) { - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); // 0. Preprocess model value let namespace = "types_test".to_string(); let model_name = "Subrecord".to_string(); @@ -402,7 +442,16 @@ mod tests { #[sqlx::test(migrations = "../migrations")] #[serial] async fn test_event_emitted(pool: SqlitePool) { - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); let block_timestamp: u64 = 1710754478_u64; let (tx, mut rx) = mpsc::channel(7); tokio::spawn(async move { @@ -423,7 +472,8 @@ mod tests { }, Felt::ZERO, block_timestamp, - ); + ) + .unwrap(); db.execute().await.unwrap(); tx.send(()).await.unwrap(); diff --git a/crates/torii/graphql/src/utils.rs b/crates/torii/graphql/src/utils.rs index 8f49990d4a..949e3b9711 100644 --- a/crates/torii/graphql/src/utils.rs +++ b/crates/torii/graphql/src/utils.rs @@ -1,5 +1,8 @@ +use std::str::FromStr; + use async_graphql::{Result, Value}; use convert_case::{Case, Casing}; +use starknet_crypto::Felt; use crate::error::ExtractError; use crate::types::ValueMapping; @@ -28,6 +31,18 @@ impl ExtractFromIndexMap for String { } } +impl ExtractFromIndexMap for Felt { + fn extract(indexmap: &ValueMapping, input: &str) -> Result { + let value = indexmap.get(input).ok_or_else(|| ExtractError::NotFound(input.to_string()))?; + match value { + Value::String(s) => { + Ok(Felt::from_str(s).map_err(|_| ExtractError::NotFelt(input.to_string()))?) + } + _ => Err(ExtractError::NotString(input.to_string())), + } + } +} + impl ExtractFromIndexMap for Vec { fn extract(indexmap: &ValueMapping, input: &str) -> Result { let value = indexmap.get(input).ok_or_else(|| ExtractError::NotFound(input.to_string()))?; diff --git a/crates/torii/grpc/Cargo.toml b/crates/torii/grpc/Cargo.toml index c4eb6021e7..3734b9aee6 100644 --- a/crates/torii/grpc/Cargo.toml +++ b/crates/torii/grpc/Cargo.toml @@ -6,16 +6,13 @@ repository.workspace = true version.workspace = true [dependencies] -bytes.workspace = true -dojo-types = { path = "../../dojo-types" } -futures-util.workspace = true +dojo-types.workspace = true futures.workspace = true +futures-util.workspace = true num-traits.workspace = true -parking_lot.workspace = true rayon.workspace = true -itertools.workspace = true -starknet-crypto.workspace = true starknet.workspace = true +starknet-crypto.workspace = true thiserror.workspace = true torii-core = { path = "../core", optional = true } @@ -26,7 +23,6 @@ strum_macros.workspace = true # server dojo-world = { path = "../../dojo-world", features = [ "contracts" ] } -hex.workspace = true hyper.workspace = true rand.workspace = true serde_json.workspace = true @@ -40,7 +36,7 @@ dojo-test-utils.workspace = true dojo-utils.workspace = true katana-runner.workspace = true scarb.workspace = true -sozo-ops.workspace = true +tempfile.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] tonic-web-wasm-client.workspace = true @@ -49,13 +45,14 @@ wasm-tonic.workspace = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies] prost.workspace = true +tower-http.workspace = true +http.workspace = true sqlx.workspace = true -tokio-stream = "0.1.14" tokio.workspace = true +tokio-stream = "0.1.14" +tonic.workspace = true tonic-reflection.workspace = true tonic-web.workspace = true -tonic.workspace = true -url.workspace = true [build-dependencies] tonic-build.workspace = true diff --git a/crates/torii/grpc/build.rs b/crates/torii/grpc/build.rs index b12cb0891b..b3f4a92d26 100644 --- a/crates/torii/grpc/build.rs +++ b/crates/torii/grpc/build.rs @@ -16,7 +16,7 @@ fn main() -> Result<(), Box> { .build_server(false) .build_client(feature_client.is_ok()) .file_descriptor_set_path(out_dir.join("world_descriptor.bin")) - .compile(&["proto/world.proto"], &["proto"])?; + .compile_protos(&["proto/world.proto"], &["proto"])?; } else { tonic_build::configure() .build_server(feature_server.is_ok()) diff --git a/crates/torii/grpc/proto/schema.proto b/crates/torii/grpc/proto/schema.proto index 764bfca5ce..0745d7c77f 100644 --- a/crates/torii/grpc/proto/schema.proto +++ b/crates/torii/grpc/proto/schema.proto @@ -1,25 +1,6 @@ syntax = "proto3"; package types; -enum PrimitiveType { - U8 = 0; - U16 = 1; - U32 = 2; - U64 = 3; - U128 = 4; - U256 = 5; - USIZE = 6; - BOOL = 7; - FELT252 = 8; - CLASS_HASH = 9; - CONTRACT_ADDRESS = 10; - I8 = 11; - I16 = 12; - I32 = 13; - I64 = 14; - I128 = 15; -} - message EnumOption { string name = 1; Ty ty = 2; @@ -32,8 +13,24 @@ message Enum { } message Primitive { - PrimitiveType type = 1; - Value value = 2; + oneof primitive_type { + int32 i8 = 1; + int32 i16 = 2; + int32 i32 = 3; + int64 i64 = 4; + bytes i128 = 5; + uint32 u8 = 6; + uint32 u16 = 7; + uint32 u32 = 8; + uint64 u64 = 9; + bytes u128 = 10; + bytes u256 = 11; + uint32 usize = 12; + bool bool = 13; + bytes felt252 = 14; + bytes class_hash = 15; + bytes contract_address = 16; + } } message Struct { @@ -61,13 +58,3 @@ message Member { Ty ty = 2; bool key = 3; } - -message Value { - oneof value_type { - string string_value = 2; - int64 int_value = 3; - uint64 uint_value = 4; - bool bool_value = 5; - bytes byte_value = 6; - } -} diff --git a/crates/torii/grpc/proto/types.proto b/crates/torii/grpc/proto/types.proto index deb84032cd..6b2abb2ba1 100644 --- a/crates/torii/grpc/proto/types.proto +++ b/crates/torii/grpc/proto/types.proto @@ -73,6 +73,7 @@ message Query { Clause clause = 1; uint32 limit = 2; uint32 offset = 3; + bool dont_include_hashed_keys = 4; } message EventQuery { diff --git a/crates/torii/grpc/proto/world.proto b/crates/torii/grpc/proto/world.proto index 8e8010fef1..dc0fa26deb 100644 --- a/crates/torii/grpc/proto/world.proto +++ b/crates/torii/grpc/proto/world.proto @@ -7,8 +7,11 @@ import "google/protobuf/empty.proto"; // The World service provides information about the world. service World { + // Subscribes to updates about the indexer. Like the head block number, tps, etc. + rpc SubscribeIndexer (SubscribeIndexerRequest) returns (stream SubscribeIndexerResponse); + // Retrieves metadata about the World including all the registered components and systems. - rpc WorldMetadata (MetadataRequest) returns (MetadataResponse); + rpc WorldMetadata (WorldMetadataRequest) returns (WorldMetadataResponse); // Subscribes to models updates. rpc SubscribeModels (SubscribeModelsRequest) returns (stream SubscribeModelsResponse); @@ -22,6 +25,9 @@ service World { // Retrieve entities rpc RetrieveEntities (RetrieveEntitiesRequest) returns (RetrieveEntitiesResponse); + // Retrieve entities as a stream + rpc RetrieveEntitiesStreaming (RetrieveEntitiesRequest) returns (stream RetrieveEntitiesStreamingResponse); + // Subscribe to entity updates. rpc SubscribeEventMessages (SubscribeEntitiesRequest) returns (stream SubscribeEntityResponse); @@ -38,14 +44,26 @@ service World { rpc SubscribeEvents (SubscribeEventsRequest) returns (stream SubscribeEventsResponse); } +// A request to subscribe to indexer updates. +message SubscribeIndexerRequest { + bytes contract_address = 1; +} + +// A response containing indexer updates. +message SubscribeIndexerResponse { + int64 head = 1; + int64 tps = 2; + int64 last_block_timestamp = 3; + bytes contract_address = 4; +} // A request to retrieve metadata for a specific world ID. -message MetadataRequest { +message WorldMetadataRequest { } // The metadata response contains addresses and class hashes for the world. -message MetadataResponse { +message WorldMetadataResponse { types.WorldMetadata metadata = 1; } @@ -83,6 +101,11 @@ message RetrieveEntitiesResponse { uint32 total_count = 2; } +message RetrieveEntitiesStreamingResponse { + types.Entity entity = 1; + uint32 remaining_count = 2; +} + message RetrieveEventsRequest { // The events to retrieve types.EventQuery query = 1; diff --git a/crates/torii/grpc/src/client.rs b/crates/torii/grpc/src/client.rs index 38630f321a..cfaff960de 100644 --- a/crates/torii/grpc/src/client.rs +++ b/crates/torii/grpc/src/client.rs @@ -4,17 +4,21 @@ use std::num::ParseIntError; use futures_util::stream::MapOk; use futures_util::{Stream, StreamExt, TryStreamExt}; use starknet::core::types::{Felt, FromStrError, StateDiff, StateUpdate}; +use tonic::codec::CompressionEncoding; #[cfg(not(target_arch = "wasm32"))] use tonic::transport::Endpoint; use crate::proto::world::{ - world_client, MetadataRequest, RetrieveEntitiesRequest, RetrieveEntitiesResponse, - RetrieveEventsRequest, RetrieveEventsResponse, SubscribeEntitiesRequest, - SubscribeEntityResponse, SubscribeEventsRequest, SubscribeEventsResponse, - SubscribeModelsRequest, SubscribeModelsResponse, UpdateEntitiesSubscriptionRequest, + world_client, RetrieveEntitiesRequest, RetrieveEntitiesResponse, RetrieveEventsRequest, + RetrieveEventsResponse, SubscribeEntitiesRequest, SubscribeEntityResponse, + SubscribeEventsRequest, SubscribeEventsResponse, SubscribeIndexerRequest, + SubscribeIndexerResponse, SubscribeModelsRequest, SubscribeModelsResponse, + UpdateEntitiesSubscriptionRequest, WorldMetadataRequest, }; use crate::types::schema::{Entity, SchemaError}; -use crate::types::{EntityKeysClause, Event, EventQuery, KeysClause, ModelKeysClause, Query}; +use crate::types::{ + EntityKeysClause, Event, EventQuery, IndexerUpdate, KeysClause, ModelKeysClause, Query, +}; #[derive(Debug, thiserror::Error)] pub enum Error { @@ -52,7 +56,9 @@ impl WorldClient { let channel = endpoint.connect().await.map_err(Error::Transport)?; Ok(Self { _world_address: world_address, - inner: world_client::WorldClient::with_origin(channel, endpoint.uri().clone()), + inner: world_client::WorldClient::with_origin(channel, endpoint.uri().clone()) + .accept_compressed(CompressionEncoding::Gzip) + .send_compressed(CompressionEncoding::Gzip), }) } @@ -61,14 +67,16 @@ impl WorldClient { pub async fn new(endpoint: String, _world_address: Felt) -> Result { Ok(Self { _world_address, - inner: world_client::WorldClient::new(tonic_web_wasm_client::Client::new(endpoint)), + inner: world_client::WorldClient::new(tonic_web_wasm_client::Client::new(endpoint)) + .accept_compressed(CompressionEncoding::Gzip) + .send_compressed(CompressionEncoding::Gzip), }) } /// Retrieve the metadata of the World. pub async fn metadata(&mut self) -> Result { self.inner - .world_metadata(MetadataRequest {}) + .world_metadata(WorldMetadataRequest {}) .await .map_err(Error::Grpc) .and_then(|res| { @@ -107,6 +115,22 @@ impl WorldClient { self.inner.retrieve_events(request).await.map_err(Error::Grpc).map(|res| res.into_inner()) } + /// Subscribe to indexer updates. + pub async fn subscribe_indexer( + &mut self, + contract_address: Felt, + ) -> Result { + let request = + SubscribeIndexerRequest { contract_address: contract_address.to_bytes_be().to_vec() }; + let stream = self + .inner + .subscribe_indexer(request) + .await + .map_err(Error::Grpc) + .map(|res| res.into_inner())?; + Ok(IndexerUpdateStreaming(stream.map_ok(Box::new(|res| res.into())))) + } + /// Subscribe to entities updates of a World. pub async fn subscribe_entities( &mut self, @@ -282,6 +306,24 @@ impl Stream for EventUpdateStreaming { } } +type IndexerMappedStream = MapOk< + tonic::Streaming, + Box IndexerUpdate + Send>, +>; + +#[derive(Debug)] +pub struct IndexerUpdateStreaming(IndexerMappedStream); + +impl Stream for IndexerUpdateStreaming { + type Item = ::Item; + fn poll_next( + mut self: std::pin::Pin<&mut Self>, + cx: &mut std::task::Context<'_>, + ) -> std::task::Poll> { + self.0.poll_next_unpin(cx) + } +} + fn empty_state_update() -> StateUpdate { StateUpdate { block_hash: Felt::ZERO, diff --git a/crates/torii/grpc/src/lib.rs b/crates/torii/grpc/src/lib.rs index 1fb5da7eb7..ea54cebf02 100644 --- a/crates/torii/grpc/src/lib.rs +++ b/crates/torii/grpc/src/lib.rs @@ -1,3 +1,5 @@ +#![warn(unused_crate_dependencies)] + #[cfg(target_arch = "wasm32")] extern crate wasm_prost as prost; #[cfg(target_arch = "wasm32")] diff --git a/crates/torii/grpc/src/server/mod.rs b/crates/torii/grpc/src/server/mod.rs index 4dd245d03a..8ec0acaf5f 100644 --- a/crates/torii/grpc/src/server/mod.rs +++ b/crates/torii/grpc/src/server/mod.rs @@ -11,14 +11,16 @@ use std::pin::Pin; use std::str; use std::str::FromStr; use std::sync::Arc; +use std::time::Duration; use dojo_types::primitive::{Primitive, PrimitiveError}; use dojo_types::schema::Ty; use dojo_world::contracts::naming::compute_selector_from_names; use futures::Stream; +use http::HeaderName; use proto::world::{ - MetadataRequest, MetadataResponse, RetrieveEntitiesRequest, RetrieveEntitiesResponse, - RetrieveEventsRequest, RetrieveEventsResponse, SubscribeModelsRequest, SubscribeModelsResponse, + RetrieveEntitiesRequest, RetrieveEntitiesResponse, RetrieveEventsRequest, + RetrieveEventsResponse, SubscribeModelsRequest, SubscribeModelsResponse, UpdateEntitiesSubscriptionRequest, }; use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; @@ -29,14 +31,18 @@ use starknet::core::types::Felt; use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::JsonRpcClient; use subscriptions::event::EventManager; +use subscriptions::indexer::IndexerManager; use tokio::net::TcpListener; -use tokio::sync::mpsc::Receiver; +use tokio::sync::mpsc::{channel, Receiver}; use tokio_stream::wrappers::{ReceiverStream, TcpListenerStream}; +use tonic::codec::CompressionEncoding; use tonic::transport::Server; use tonic::{Request, Response, Status}; -use torii_core::cache::ModelCache; +use tonic_web::GrpcWebLayer; use torii_core::error::{Error, ParseError, QueryError}; use torii_core::model::{build_sql_query, map_row_to_ty}; +use torii_core::sql::cache::ModelCache; +use tower_http::cors::{AllowOrigin, CorsLayer}; use self::subscriptions::entity::EntityManager; use self::subscriptions::event_message::EventMessageManager; @@ -46,7 +52,9 @@ use crate::proto::types::member_value::ValueType; use crate::proto::types::LogicalOperator; use crate::proto::world::world_server::WorldServer; use crate::proto::world::{ - SubscribeEntitiesRequest, SubscribeEntityResponse, SubscribeEventsResponse, + RetrieveEntitiesStreamingResponse, SubscribeEntitiesRequest, SubscribeEntityResponse, + SubscribeEventsResponse, SubscribeIndexerRequest, SubscribeIndexerResponse, + WorldMetadataRequest, WorldMetadataResponse, }; use crate::proto::{self}; use crate::types::schema::SchemaError; @@ -84,6 +92,7 @@ pub struct DojoWorld { event_message_manager: Arc, event_manager: Arc, state_diff_manager: Arc, + indexer_manager: Arc, } impl DojoWorld { @@ -98,6 +107,7 @@ impl DojoWorld { let event_message_manager = Arc::new(EventMessageManager::default()); let event_manager = Arc::new(EventManager::default()); let state_diff_manager = Arc::new(StateDiffManager::default()); + let indexer_manager = Arc::new(IndexerManager::default()); tokio::task::spawn(subscriptions::model_diff::Service::new_with_block_rcv( block_rx, @@ -114,6 +124,8 @@ impl DojoWorld { tokio::task::spawn(subscriptions::event::Service::new(Arc::clone(&event_manager))); + tokio::task::spawn(subscriptions::indexer::Service::new(Arc::clone(&indexer_manager))); + Self { pool, world_address, @@ -122,12 +134,13 @@ impl DojoWorld { event_message_manager, event_manager, state_diff_manager, + indexer_manager, } } } impl DojoWorld { - pub async fn metadata(&self) -> Result { + pub async fn world(&self) -> Result { let world_address = sqlx::query_scalar(&format!( "SELECT contract_address FROM contracts WHERE id = '{:#x}'", self.world_address @@ -183,6 +196,7 @@ impl DojoWorld { entity_relation_column: &str, limit: u32, offset: u32, + dont_include_hashed_keys: bool, ) -> Result<(Vec, u32), Error> { self.query_by_hashed_keys( table, @@ -191,6 +205,7 @@ impl DojoWorld { None, Some(limit), Some(offset), + dont_include_hashed_keys, ) .await } @@ -214,6 +229,7 @@ impl DojoWorld { table: &str, entity_relation_column: &str, entities: Vec<(String, String)>, + dont_include_hashed_keys: bool, ) -> Result, Error> { // Group entities by their model combinations let mut model_groups: HashMap> = HashMap::new(); @@ -283,7 +299,7 @@ impl DojoWorld { let group_entities: Result, Error> = rows .par_iter() - .map(|row| map_row_to_entity(row, &arrays_rows, (*schemas).clone())) + .map(|row| map_row_to_entity(row, &arrays_rows, &schemas, dont_include_hashed_keys)) .collect(); all_entities.extend(group_entities?); @@ -296,6 +312,7 @@ impl DojoWorld { Ok(all_entities) } + #[allow(clippy::too_many_arguments)] pub(crate) async fn query_by_hashed_keys( &self, table: &str, @@ -304,6 +321,7 @@ impl DojoWorld { hashed_keys: Option, limit: Option, offset: Option, + dont_include_hashed_keys: bool, ) -> Result<(Vec, u32), Error> { // TODO: use prepared statement for where clause let filter_ids = match hashed_keys { @@ -357,10 +375,13 @@ impl DojoWorld { let db_entities: Vec<(String, String)> = sqlx::query_as(&query).bind(limit).bind(offset).fetch_all(&self.pool).await?; - let entities = self.fetch_entities(table, entity_relation_column, db_entities).await?; + let entities = self + .fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys) + .await?; Ok((entities, total_count)) } + #[allow(clippy::too_many_arguments)] pub(crate) async fn query_by_keys( &self, table: &str, @@ -369,6 +390,7 @@ impl DojoWorld { keys_clause: &proto::types::KeysClause, limit: Option, offset: Option, + dont_include_hashed_keys: bool, ) -> Result<(Vec, u32), Error> { let keys_pattern = build_keys_pattern(keys_clause)?; @@ -470,7 +492,9 @@ impl DojoWorld { .fetch_all(&self.pool) .await?; - let entities = self.fetch_entities(table, entity_relation_column, db_entities).await?; + let entities = self + .fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys) + .await?; Ok((entities, total_count)) } @@ -501,6 +525,7 @@ impl DojoWorld { row_events.iter().map(map_row_to_event).collect() } + #[allow(clippy::too_many_arguments)] pub(crate) async fn query_by_member( &self, table: &str, @@ -509,6 +534,7 @@ impl DojoWorld { member_clause: proto::types::MemberClause, limit: Option, offset: Option, + dont_include_hashed_keys: bool, ) -> Result<(Vec, u32), Error> { let comparison_operator = ComparisonOperator::from_repr(member_clause.operator as usize) .expect("invalid comparison operator"); @@ -591,18 +617,14 @@ impl DojoWorld { arrays_rows.insert(name, rows); } - let arrays_rows = Arc::new(arrays_rows); let entities_collection: Result, Error> = db_entities .par_iter() - .map(|row| { - let schemas_clone = schemas.clone(); - let arrays_rows_clone = arrays_rows.clone(); - map_row_to_entity(row, &arrays_rows_clone, schemas_clone) - }) + .map(|row| map_row_to_entity(row, &arrays_rows, &schemas, dont_include_hashed_keys)) .collect(); Ok((entities_collection?, total_count)) } + #[allow(clippy::too_many_arguments)] pub(crate) async fn query_by_composite( &self, table: &str, @@ -611,6 +633,7 @@ impl DojoWorld { composite: proto::types::CompositeClause, limit: Option, offset: Option, + dont_include_hashed_keys: bool, ) -> Result<(Vec, u32), Error> { let (where_clause, having_clause, join_clause, bind_values) = build_composite_clause(table, model_relation_table, &composite)?; @@ -658,7 +681,9 @@ impl DojoWorld { let db_entities: Vec<(String, String)> = db_query.fetch_all(&self.pool).await?; - let entities = self.fetch_entities(table, entity_relation_column, db_entities).await?; + let entities = self + .fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys) + .await?; Ok((entities, total_count)) } @@ -684,6 +709,14 @@ impl DojoWorld { }) } + async fn subscribe_indexer( + &self, + contract_address: Felt, + ) -> Result>, Error> + { + self.indexer_manager.add_subscriber(&self.pool, contract_address).await + } + async fn subscribe_models( &self, models_keys: Vec, @@ -734,6 +767,7 @@ impl DojoWorld { entity_relation_column, query.limit, query.offset, + query.dont_include_hashed_keys, ) .await? } @@ -754,6 +788,7 @@ impl DojoWorld { }, Some(query.limit), Some(query.offset), + query.dont_include_hashed_keys, ) .await? } @@ -765,6 +800,7 @@ impl DojoWorld { &keys, Some(query.limit), Some(query.offset), + query.dont_include_hashed_keys, ) .await? } @@ -776,6 +812,7 @@ impl DojoWorld { member, Some(query.limit), Some(query.offset), + query.dont_include_hashed_keys, ) .await? } @@ -787,6 +824,7 @@ impl DojoWorld { composite, Some(query.limit), Some(query.offset), + query.dont_include_hashed_keys, ) .await? } @@ -845,18 +883,27 @@ fn map_row_to_event(row: &(String, String, String)) -> Result>, - mut schemas: Vec, + schemas: &[Ty], + dont_include_hashed_keys: bool, ) -> Result { let hashed_keys = Felt::from_str(&row.get::("id")).map_err(ParseError::FromStr)?; let models = schemas - .iter_mut() + .iter() .map(|schema| { - map_row_to_ty("", &schema.name(), schema, row, arrays_rows)?; - Ok(schema.as_struct().unwrap().clone().into()) + let mut ty = schema.clone(); + map_row_to_ty("", &schema.name(), &mut ty, row, arrays_rows)?; + Ok(ty.as_struct().unwrap().clone().into()) }) .collect::, Error>>()?; - Ok(proto::types::Entity { hashed_keys: hashed_keys.to_bytes_be().to_vec(), models }) + Ok(proto::types::Entity { + hashed_keys: if !dont_include_hashed_keys { + hashed_keys.to_bytes_be().to_vec() + } else { + vec![] + }, + models, + }) } // this builds a sql safe regex pattern to match against for keys @@ -1009,6 +1056,10 @@ type SubscribeEntitiesResponseStream = Pin> + Send>>; type SubscribeEventsResponseStream = Pin> + Send>>; +type SubscribeIndexerResponseStream = + Pin> + Send>>; +type RetrieveEntitiesStreamingResponseStream = + Pin> + Send>>; #[tonic::async_trait] impl proto::world::world_server::World for DojoWorld { @@ -1016,17 +1067,31 @@ impl proto::world::world_server::World for DojoWorld { type SubscribeEntitiesStream = SubscribeEntitiesResponseStream; type SubscribeEventMessagesStream = SubscribeEntitiesResponseStream; type SubscribeEventsStream = SubscribeEventsResponseStream; + type SubscribeIndexerStream = SubscribeIndexerResponseStream; + type RetrieveEntitiesStreamingStream = RetrieveEntitiesStreamingResponseStream; async fn world_metadata( &self, - _request: Request, - ) -> Result, Status> { - let metadata = Some(self.metadata().await.map_err(|e| match e { + _request: Request, + ) -> Result, Status> { + let metadata = Some(self.world().await.map_err(|e| match e { Error::Sql(sqlx::Error::RowNotFound) => Status::not_found("World not found"), e => Status::internal(e.to_string()), })?); - Ok(Response::new(MetadataResponse { metadata })) + Ok(Response::new(WorldMetadataResponse { metadata })) + } + + async fn subscribe_indexer( + &self, + request: Request, + ) -> ServiceResult { + let SubscribeIndexerRequest { contract_address } = request.into_inner(); + let rx = self + .subscribe_indexer(Felt::from_bytes_be_slice(&contract_address)) + .await + .map_err(|e| Status::internal(e.to_string()))?; + Ok(Response::new(Box::pin(ReceiverStream::new(rx)) as Self::SubscribeIndexerStream)) } async fn subscribe_models( @@ -1089,6 +1154,43 @@ impl proto::world::world_server::World for DojoWorld { Ok(Response::new(entities)) } + async fn retrieve_entities_streaming( + &self, + request: Request, + ) -> ServiceResult { + let query = request + .into_inner() + .query + .ok_or_else(|| Status::invalid_argument("Missing query argument"))?; + + let (tx, rx) = channel(100); + let res = self + .retrieve_entities( + ENTITIES_TABLE, + ENTITIES_MODEL_RELATION_TABLE, + ENTITIES_ENTITY_RELATION_COLUMN, + query, + ) + .await + .map_err(|e| Status::internal(e.to_string()))?; + tokio::spawn(async move { + for (i, entity) in res.entities.iter().enumerate() { + tx.send(Ok(RetrieveEntitiesStreamingResponse { + entity: Some(entity.clone()), + remaining_count: (res.total_count - (i + 1) as u32), + })) + .await + .unwrap(); + } + }); + + Ok( + Response::new( + Box::pin(ReceiverStream::new(rx)) as Self::RetrieveEntitiesStreamingStream + ), + ) + } + async fn subscribe_event_messages( &self, request: Request, @@ -1166,6 +1268,18 @@ impl proto::world::world_server::World for DojoWorld { } } +const DEFAULT_MAX_AGE: Duration = Duration::from_secs(24 * 60 * 60); +const DEFAULT_EXPOSED_HEADERS: [&str; 4] = + ["grpc-status", "grpc-message", "grpc-status-details-bin", "grpc-encoding"]; +const DEFAULT_ALLOW_HEADERS: [&str; 6] = [ + "x-grpc-web", + "content-type", + "x-user-agent", + "grpc-timeout", + "grpc-accept-encoding", + "grpc-encoding", +]; + pub async fn new( mut shutdown_rx: tokio::sync::broadcast::Receiver<()>, pool: &Pool, @@ -1185,13 +1299,36 @@ pub async fn new( .unwrap(); let world = DojoWorld::new(pool.clone(), block_rx, world_address, provider); - let server = WorldServer::new(world); + let server = WorldServer::new(world) + .accept_compressed(CompressionEncoding::Gzip) + .send_compressed(CompressionEncoding::Gzip); let server_future = Server::builder() // GrpcWeb is over http1 so we must enable it. .accept_http1(true) + .layer( + CorsLayer::new() + .allow_origin(AllowOrigin::mirror_request()) + .allow_credentials(true) + .max_age(DEFAULT_MAX_AGE) + .expose_headers( + DEFAULT_EXPOSED_HEADERS + .iter() + .cloned() + .map(HeaderName::from_static) + .collect::>(), + ) + .allow_headers( + DEFAULT_ALLOW_HEADERS + .iter() + .cloned() + .map(HeaderName::from_static) + .collect::>(), + ), + ) + .layer(GrpcWebLayer::new()) .add_service(reflection) - .add_service(tonic_web::enable(server)) + .add_service(server) .serve_with_incoming_shutdown(TcpListenerStream::new(listener), async move { shutdown_rx.recv().await.map_or((), |_| ()) }); diff --git a/crates/torii/grpc/src/server/subscriptions/entity.rs b/crates/torii/grpc/src/server/subscriptions/entity.rs index d7b03ae26e..8d3272edcf 100644 --- a/crates/torii/grpc/src/server/subscriptions/entity.rs +++ b/crates/torii/grpc/src/server/subscriptions/entity.rs @@ -9,12 +9,14 @@ use futures::Stream; use futures_util::StreamExt; use rand::Rng; use starknet::core::types::Felt; -use tokio::sync::mpsc::{channel, Receiver, Sender}; +use tokio::sync::mpsc::{ + channel, unbounded_channel, Receiver, Sender, UnboundedReceiver, UnboundedSender, +}; use tokio::sync::RwLock; use torii_core::error::{Error, ParseError}; use torii_core::simple_broker::SimpleBroker; use torii_core::sql::FELT_DELIMITER; -use torii_core::types::Entity; +use torii_core::types::OptimisticEntity; use tracing::{error, trace}; use crate::proto; @@ -77,16 +79,38 @@ impl EntityManager { #[must_use = "Service does nothing unless polled"] #[allow(missing_debug_implementations)] pub struct Service { - subs_manager: Arc, - simple_broker: Pin + Send>>, + simple_broker: Pin + Send>>, + entity_sender: UnboundedSender, } impl Service { pub fn new(subs_manager: Arc) -> Self { - Self { subs_manager, simple_broker: Box::pin(SimpleBroker::::subscribe()) } + let (entity_sender, entity_receiver) = unbounded_channel(); + let service = Self { + simple_broker: Box::pin(SimpleBroker::::subscribe()), + entity_sender, + }; + + tokio::spawn(Self::publish_updates(subs_manager, entity_receiver)); + + service } - async fn publish_updates(subs: Arc, entity: &Entity) -> Result<(), Error> { + async fn publish_updates( + subs: Arc, + mut entity_receiver: UnboundedReceiver, + ) { + while let Some(entity) = entity_receiver.recv().await { + if let Err(e) = Self::process_entity_update(&subs, &entity).await { + error!(target = LOG_TARGET, error = %e, "Processing entity update."); + } + } + } + + async fn process_entity_update( + subs: &Arc, + entity: &OptimisticEntity, + ) -> Result<(), Error> { let mut closed_stream = Vec::new(); let hashed = Felt::from_str(&entity.id).map_err(ParseError::FromStr)?; let keys = entity @@ -211,16 +235,13 @@ impl Service { impl Future for Service { type Output = (); - fn poll(self: std::pin::Pin<&mut Self>, cx: &mut Context<'_>) -> std::task::Poll { - let pin = self.get_mut(); + fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + let this = self.get_mut(); - while let Poll::Ready(Some(entity)) = pin.simple_broker.poll_next_unpin(cx) { - let subs = Arc::clone(&pin.subs_manager); - tokio::spawn(async move { - if let Err(e) = Service::publish_updates(subs, &entity).await { - error!(target = LOG_TARGET, error = %e, "Publishing entity update."); - } - }); + while let Poll::Ready(Some(entity)) = this.simple_broker.poll_next_unpin(cx) { + if let Err(e) = this.entity_sender.send(entity) { + error!(target = LOG_TARGET, error = %e, "Sending entity update to processor."); + } } Poll::Pending diff --git a/crates/torii/grpc/src/server/subscriptions/event.rs b/crates/torii/grpc/src/server/subscriptions/event.rs index a00ddbbbdd..c1deb332cc 100644 --- a/crates/torii/grpc/src/server/subscriptions/event.rs +++ b/crates/torii/grpc/src/server/subscriptions/event.rs @@ -9,7 +9,9 @@ use futures::Stream; use futures_util::StreamExt; use rand::Rng; use starknet::core::types::Felt; -use tokio::sync::mpsc::{channel, Receiver, Sender}; +use tokio::sync::mpsc::{ + channel, unbounded_channel, Receiver, Sender, UnboundedReceiver, UnboundedSender, +}; use tokio::sync::RwLock; use torii_core::error::{Error, ParseError}; use torii_core::simple_broker::SimpleBroker; @@ -62,16 +64,33 @@ impl EventManager { #[must_use = "Service does nothing unless polled"] #[allow(missing_debug_implementations)] pub struct Service { - subs_manager: Arc, simple_broker: Pin + Send>>, + event_sender: UnboundedSender, } impl Service { pub fn new(subs_manager: Arc) -> Self { - Self { subs_manager, simple_broker: Box::pin(SimpleBroker::::subscribe()) } + let (event_sender, event_receiver) = unbounded_channel(); + let service = + Self { simple_broker: Box::pin(SimpleBroker::::subscribe()), event_sender }; + + tokio::spawn(Self::publish_updates(subs_manager, event_receiver)); + + service + } + + async fn publish_updates( + subs: Arc, + mut event_receiver: UnboundedReceiver, + ) { + while let Some(event) = event_receiver.recv().await { + if let Err(e) = Self::process_event(&subs, &event).await { + error!(target = LOG_TARGET, error = %e, "Processing event update."); + } + } } - async fn publish_updates(subs: Arc, event: &Event) -> Result<(), Error> { + async fn process_event(subs: &Arc, event: &Event) -> Result<(), Error> { let mut closed_stream = Vec::new(); let keys = event .keys @@ -151,12 +170,9 @@ impl Future for Service { let pin = self.get_mut(); while let Poll::Ready(Some(event)) = pin.simple_broker.poll_next_unpin(cx) { - let subs = Arc::clone(&pin.subs_manager); - tokio::spawn(async move { - if let Err(e) = Service::publish_updates(subs, &event).await { - error!(target = LOG_TARGET, error = %e, "Publishing events update."); - } - }); + if let Err(e) = pin.event_sender.send(event) { + error!(target = LOG_TARGET, error = %e, "Sending event to processor."); + } } Poll::Pending diff --git a/crates/torii/grpc/src/server/subscriptions/event_message.rs b/crates/torii/grpc/src/server/subscriptions/event_message.rs index 9bac36fb84..93de013cd3 100644 --- a/crates/torii/grpc/src/server/subscriptions/event_message.rs +++ b/crates/torii/grpc/src/server/subscriptions/event_message.rs @@ -9,12 +9,12 @@ use futures::Stream; use futures_util::StreamExt; use rand::Rng; use starknet::core::types::Felt; -use tokio::sync::mpsc::{channel, Receiver}; +use tokio::sync::mpsc::{channel, unbounded_channel, Receiver, UnboundedReceiver, UnboundedSender}; use tokio::sync::RwLock; use torii_core::error::{Error, ParseError}; use torii_core::simple_broker::SimpleBroker; use torii_core::sql::FELT_DELIMITER; -use torii_core::types::EventMessage; +use torii_core::types::OptimisticEventMessage; use tracing::{error, trace}; use super::entity::EntitiesSubscriber; @@ -71,18 +71,37 @@ impl EventMessageManager { #[must_use = "Service does nothing unless polled"] #[allow(missing_debug_implementations)] pub struct Service { - subs_manager: Arc, - simple_broker: Pin + Send>>, + simple_broker: Pin + Send>>, + event_sender: UnboundedSender, } impl Service { pub fn new(subs_manager: Arc) -> Self { - Self { subs_manager, simple_broker: Box::pin(SimpleBroker::::subscribe()) } + let (event_sender, event_receiver) = unbounded_channel(); + let service = Self { + simple_broker: Box::pin(SimpleBroker::::subscribe()), + event_sender, + }; + + tokio::spawn(Self::publish_updates(subs_manager, event_receiver)); + + service } async fn publish_updates( subs: Arc, - entity: &EventMessage, + mut event_receiver: UnboundedReceiver, + ) { + while let Some(event) = event_receiver.recv().await { + if let Err(e) = Self::process_event_update(&subs, &event).await { + error!(target = LOG_TARGET, error = %e, "Processing event update."); + } + } + } + + async fn process_event_update( + subs: &Arc, + entity: &OptimisticEventMessage, ) -> Result<(), Error> { let mut closed_stream = Vec::new(); let hashed = Felt::from_str(&entity.id).map_err(ParseError::FromStr)?; @@ -192,16 +211,13 @@ impl Service { impl Future for Service { type Output = (); - fn poll(self: std::pin::Pin<&mut Self>, cx: &mut Context<'_>) -> std::task::Poll { - let pin = self.get_mut(); + fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + let this = self.get_mut(); - while let Poll::Ready(Some(entity)) = pin.simple_broker.poll_next_unpin(cx) { - let subs = Arc::clone(&pin.subs_manager); - tokio::spawn(async move { - if let Err(e) = Service::publish_updates(subs, &entity).await { - error!(target = LOG_TARGET, error = %e, "Publishing entity update."); - } - }); + while let Poll::Ready(Some(event)) = this.simple_broker.poll_next_unpin(cx) { + if let Err(e) = this.event_sender.send(event) { + error!(target = LOG_TARGET, error = %e, "Sending event update to processor."); + } } Poll::Pending diff --git a/crates/torii/grpc/src/server/subscriptions/indexer.rs b/crates/torii/grpc/src/server/subscriptions/indexer.rs new file mode 100644 index 0000000000..9c4281afe0 --- /dev/null +++ b/crates/torii/grpc/src/server/subscriptions/indexer.rs @@ -0,0 +1,162 @@ +use std::collections::HashMap; +use std::future::Future; +use std::pin::Pin; +use std::str::FromStr; +use std::sync::Arc; +use std::task::{Context, Poll}; + +use futures::{Stream, StreamExt}; +use rand::Rng; +use sqlx::{Pool, Sqlite}; +use starknet::core::types::Felt; +use tokio::sync::mpsc::{ + channel, unbounded_channel, Receiver, Sender, UnboundedReceiver, UnboundedSender, +}; +use tokio::sync::RwLock; +use torii_core::error::{Error, ParseError}; +use torii_core::simple_broker::SimpleBroker; +use torii_core::types::ContractCursor as ContractUpdated; +use tracing::{error, trace}; + +use crate::proto; +use crate::proto::world::SubscribeIndexerResponse; + +pub(crate) const LOG_TARGET: &str = "torii::grpc::server::subscriptions::indexer"; + +#[derive(Debug)] +pub struct IndexerSubscriber { + /// Contract address that the subscriber is interested in + contract_address: Felt, + /// The channel to send the response back to the subscriber. + sender: Sender>, +} + +#[derive(Debug, Default)] +pub struct IndexerManager { + subscribers: RwLock>, +} + +impl IndexerManager { + pub async fn add_subscriber( + &self, + pool: &Pool, + contract_address: Felt, + ) -> Result>, Error> + { + let id = rand::thread_rng().gen::(); + let (sender, receiver) = channel(1); + + let mut statement = + "SELECT head, tps, last_block_timestamp, contract_address FROM contracts".to_string(); + + let contracts: Vec = if contract_address != Felt::ZERO { + statement += " WHERE id = ?"; + + sqlx::query_as(&statement) + .bind(format!("{:#x}", contract_address)) + .fetch_all(pool) + .await? + } else { + sqlx::query_as(&statement).fetch_all(pool).await? + }; + + for contract in contracts { + let _ = sender + .send(Ok(SubscribeIndexerResponse { + head: contract.head, + tps: contract.tps, + last_block_timestamp: contract.last_block_timestamp, + contract_address: contract_address.to_bytes_be().to_vec(), + })) + .await; + } + self.subscribers.write().await.insert(id, IndexerSubscriber { contract_address, sender }); + + Ok(receiver) + } + + pub(super) async fn remove_subscriber(&self, id: usize) { + self.subscribers.write().await.remove(&id); + } +} + +#[must_use = "Service does nothing unless polled"] +#[allow(missing_debug_implementations)] +pub struct Service { + simple_broker: Pin + Send>>, + update_sender: UnboundedSender, +} + +impl Service { + pub fn new(subs_manager: Arc) -> Self { + let (update_sender, update_receiver) = unbounded_channel(); + let service = Self { + simple_broker: Box::pin(SimpleBroker::::subscribe()), + update_sender, + }; + + tokio::spawn(Self::publish_updates(subs_manager, update_receiver)); + + service + } + + async fn publish_updates( + subs: Arc, + mut update_receiver: UnboundedReceiver, + ) { + while let Some(update) = update_receiver.recv().await { + if let Err(e) = Self::process_update(&subs, &update).await { + error!(target = LOG_TARGET, error = %e, "Processing indexer update."); + } + } + } + + async fn process_update( + subs: &Arc, + update: &ContractUpdated, + ) -> Result<(), Error> { + let mut closed_stream = Vec::new(); + let contract_address = + Felt::from_str(&update.contract_address).map_err(ParseError::FromStr)?; + + for (idx, sub) in subs.subscribers.read().await.iter() { + if sub.contract_address != Felt::ZERO && sub.contract_address != contract_address { + continue; + } + + let resp = SubscribeIndexerResponse { + head: update.head, + tps: update.tps, + last_block_timestamp: update.last_block_timestamp, + contract_address: contract_address.to_bytes_be().to_vec(), + }; + + if sub.sender.send(Ok(resp)).await.is_err() { + closed_stream.push(*idx); + } + } + + for id in closed_stream { + trace!(target = LOG_TARGET, id = %id, "Closing indexer updates stream."); + subs.remove_subscriber(id).await + } + + Ok(()) + } +} + +impl Future for Service { + type Output = (); + + fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + let this = self.get_mut(); + + while let Poll::Ready(Some(update)) = this.simple_broker.poll_next_unpin(cx) { + if let Err(e) = this.update_sender.send(update) { + error!(target = LOG_TARGET, error = %e, "Sending indexer update to processor."); + } + } + + Poll::Pending + } +} diff --git a/crates/torii/grpc/src/server/subscriptions/mod.rs b/crates/torii/grpc/src/server/subscriptions/mod.rs index f591862bd9..3a44537427 100644 --- a/crates/torii/grpc/src/server/subscriptions/mod.rs +++ b/crates/torii/grpc/src/server/subscriptions/mod.rs @@ -2,4 +2,5 @@ pub mod entity; pub mod error; pub mod event; pub mod event_message; +pub mod indexer; pub mod model_diff; diff --git a/crates/torii/grpc/src/server/tests/entities_test.rs b/crates/torii/grpc/src/server/tests/entities_test.rs index 0b04574a03..0bc8451919 100644 --- a/crates/torii/grpc/src/server/tests/entities_test.rs +++ b/crates/torii/grpc/src/server/tests/entities_test.rs @@ -1,3 +1,4 @@ +use std::collections::HashMap; use std::str::FromStr; use std::sync::Arc; @@ -18,12 +19,12 @@ use starknet::core::utils::{get_contract_address, get_selector_from_name}; use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::{JsonRpcClient, Provider}; use starknet_crypto::poseidon_hash_many; +use tempfile::NamedTempFile; use tokio::sync::broadcast; use torii_core::engine::{Engine, EngineConfig, Processors}; -use torii_core::processors::generate_event_processors_map; -use torii_core::processors::register_model::RegisterModelProcessor; -use torii_core::processors::store_set_record::StoreSetRecordProcessor; +use torii_core::executor::Executor; use torii_core::sql::Sql; +use torii_core::types::ContractType; use crate::proto::types::KeysClause; use crate::server::DojoWorld; @@ -32,11 +33,17 @@ use crate::types::schema::Entity; #[tokio::test(flavor = "multi_thread")] #[katana_runner::test(accounts = 10, db_dir = copy_spawn_and_move_db().as_str())] async fn test_entities_queries(sequencer: &RunnerCtx) { - let options = SqliteConnectOptions::from_str("sqlite::memory:") - .unwrap() - .create_if_missing(true) - .with_regexp(); - let pool = SqlitePoolOptions::new().max_connections(5).connect_with(options).await.unwrap(); + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let options = + SqliteConnectOptions::from_str(&path).unwrap().create_if_missing(true).with_regexp(); + let pool = SqlitePoolOptions::new() + .min_connections(1) + .idle_timeout(None) + .max_lifetime(None) + .connect_with(options) + .await + .unwrap(); sqlx::migrate!("../migrations").run(&pool).await.unwrap(); let setup = CompilerTestSetup::from_examples("../../dojo-core", "../../../examples/"); @@ -92,30 +99,37 @@ async fn test_entities_queries(sequencer: &RunnerCtx) { TransactionWaiter::new(tx.transaction_hash, &provider).await.unwrap(); - let db = Sql::new(pool.clone(), strat.world_address).await.unwrap(); + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let db = Sql::new( + pool.clone(), + sender, + &HashMap::from([(strat.world_address, ContractType::WORLD)]), + ) + .await + .unwrap(); let (shutdown_tx, _) = broadcast::channel(1); let mut engine = Engine::new( world_reader, db.clone(), Arc::clone(&provider), - Processors { - event: generate_event_processors_map(vec![ - Arc::new(RegisterModelProcessor), - Arc::new(StoreSetRecordProcessor), - ]) - .unwrap(), - ..Processors::default() - }, + Processors { ..Processors::default() }, EngineConfig::default(), shutdown_tx, None, + Arc::new(HashMap::from([(strat.world_address, ContractType::WORLD)])), ); let to = provider.block_hash_and_number().await.unwrap().block_number; - let data = engine.fetch_range(0, to, None).await.unwrap(); + let data = engine.fetch_range(0, to, &HashMap::new()).await.unwrap(); engine.process_range(data).await.unwrap(); + db.execute().await.unwrap(); + let (_, receiver) = tokio::sync::mpsc::channel(1); let grpc = DojoWorld::new(db.pool, receiver, strat.world_address, provider.clone()); @@ -131,6 +145,7 @@ async fn test_entities_queries(sequencer: &RunnerCtx) { }, Some(1), None, + false, ) .await .unwrap() diff --git a/crates/torii/grpc/src/types/mod.rs b/crates/torii/grpc/src/types/mod.rs index fad16b3739..b4162f30b6 100644 --- a/crates/torii/grpc/src/types/mod.rs +++ b/crates/torii/grpc/src/types/mod.rs @@ -16,11 +16,31 @@ use crate::proto::{self}; pub mod schema; +#[derive(Debug, Serialize, Deserialize, PartialEq, Hash, Eq, Clone)] +pub struct IndexerUpdate { + pub head: i64, + pub tps: i64, + pub last_block_timestamp: i64, + pub contract_address: Felt, +} + +impl From for IndexerUpdate { + fn from(value: proto::world::SubscribeIndexerResponse) -> Self { + Self { + head: value.head, + tps: value.tps, + last_block_timestamp: value.last_block_timestamp, + contract_address: Felt::from_bytes_be_slice(&value.contract_address), + } + } +} + #[derive(Debug, Serialize, Deserialize, PartialEq, Hash, Eq, Clone)] pub struct Query { pub clause: Option, pub limit: u32, pub offset: u32, + pub dont_include_hashed_keys: bool, } #[derive(Debug, Serialize, Deserialize, PartialEq, Hash, Eq, Clone)] @@ -179,7 +199,12 @@ impl TryFrom for dojo_types::WorldMetadata { impl From for proto::types::Query { fn from(value: Query) -> Self { - Self { clause: value.clause.map(|c| c.into()), limit: value.limit, offset: value.offset } + Self { + clause: value.clause.map(|c| c.into()), + limit: value.limit, + offset: value.offset, + dont_include_hashed_keys: value.dont_include_hashed_keys, + } } } @@ -316,20 +341,6 @@ impl From for member_value::ValueType { } } -impl From for proto::types::Value { - fn from(value: Value) -> Self { - let value_type = match value.value_type { - ValueType::String(val) => Some(proto::types::value::ValueType::StringValue(val)), - ValueType::Int(val) => Some(proto::types::value::ValueType::IntValue(val)), - ValueType::UInt(val) => Some(proto::types::value::ValueType::UintValue(val)), - ValueType::Bool(val) => Some(proto::types::value::ValueType::BoolValue(val)), - ValueType::Bytes(val) => Some(proto::types::value::ValueType::ByteValue(val)), - }; - - Self { value_type } - } -} - impl TryFrom for StorageEntry { type Error = FromStrError; fn try_from(value: proto::types::StorageEntry) -> Result { diff --git a/crates/torii/grpc/src/types/schema.rs b/crates/torii/grpc/src/types/schema.rs index 42e03b51de..e31f9c2271 100644 --- a/crates/torii/grpc/src/types/schema.rs +++ b/crates/torii/grpc/src/types/schema.rs @@ -1,5 +1,3 @@ -use std::str::FromStr; - use crypto_bigint::{Encoding, U256}; use dojo_types::primitive::Primitive; use dojo_types::schema::{Enum, EnumOption, Member, Struct, Ty}; @@ -144,133 +142,42 @@ impl From for proto::types::Struct { } } -// FIX: weird catch-22 issue - prost Enum has `try_from` trait we can use, however, using it results -// in wasm compile err about From missing. Implementing that trait results in clippy error -// about duplicate From... Workaround is to use deprecated `from_i32` and allow deprecation -// warning. -#[allow(deprecated)] impl TryFrom for Primitive { type Error = SchemaError; fn try_from(primitive: proto::types::Primitive) -> Result { - let primitive_type = primitive.r#type; - let value_type = primitive - .value - .ok_or(SchemaError::MissingExpectedData("value".to_string()))? - .value_type - .ok_or(SchemaError::MissingExpectedData("value_type".to_string()))?; + let value = primitive + .primitive_type + .ok_or(SchemaError::MissingExpectedData("primitive_type".to_string()))?; - let primitive = match &value_type { - proto::types::value::ValueType::BoolValue(bool) => Primitive::Bool(Some(*bool)), - proto::types::value::ValueType::UintValue(int) => { - match proto::types::PrimitiveType::from_i32(primitive_type) { - Some(proto::types::PrimitiveType::I8) => Primitive::I8(Some(*int as i8)), - Some(proto::types::PrimitiveType::I16) => Primitive::I16(Some(*int as i16)), - Some(proto::types::PrimitiveType::I32) => Primitive::I32(Some(*int as i32)), - Some(proto::types::PrimitiveType::I64) => Primitive::I64(Some(*int as i64)), - Some(proto::types::PrimitiveType::I128) => Primitive::I128(Some(*int as i128)), - Some(proto::types::PrimitiveType::U8) => Primitive::U8(Some(*int as u8)), - Some(proto::types::PrimitiveType::U16) => Primitive::U16(Some(*int as u16)), - Some(proto::types::PrimitiveType::U32) => Primitive::U32(Some(*int as u32)), - Some(proto::types::PrimitiveType::U64) => Primitive::U64(Some(*int)), - Some(proto::types::PrimitiveType::U128) => Primitive::U128(Some(*int as u128)), - Some(proto::types::PrimitiveType::Usize) => Primitive::USize(Some(*int as u32)), - _ => return Err(SchemaError::UnsupportedType("UintValue".to_string())), - } - } - proto::types::value::ValueType::IntValue(int) => { - match proto::types::PrimitiveType::from_i32(primitive_type) { - Some(proto::types::PrimitiveType::I8) => Primitive::I8(Some(*int as i8)), - Some(proto::types::PrimitiveType::I16) => Primitive::I16(Some(*int as i16)), - Some(proto::types::PrimitiveType::I32) => Primitive::I32(Some(*int as i32)), - Some(proto::types::PrimitiveType::I64) => Primitive::I64(Some(*int)), - Some(proto::types::PrimitiveType::I128) => Primitive::I128(Some(*int as i128)), - Some(proto::types::PrimitiveType::U8) => Primitive::U8(Some(*int as u8)), - Some(proto::types::PrimitiveType::U16) => Primitive::U16(Some(*int as u16)), - Some(proto::types::PrimitiveType::U32) => Primitive::U32(Some(*int as u32)), - Some(proto::types::PrimitiveType::U64) => Primitive::U64(Some(*int as u64)), - Some(proto::types::PrimitiveType::U128) => Primitive::U128(Some(*int as u128)), - Some(proto::types::PrimitiveType::Usize) => Primitive::USize(Some(*int as u32)), - _ => return Err(SchemaError::UnsupportedType("IntValue".to_string())), - } + let primitive = match &value { + proto::types::primitive::PrimitiveType::Bool(bool) => Primitive::Bool(Some(*bool)), + proto::types::primitive::PrimitiveType::I8(int) => Primitive::I8(Some(*int as i8)), + proto::types::primitive::PrimitiveType::I16(int) => Primitive::I16(Some(*int as i16)), + proto::types::primitive::PrimitiveType::I32(int) => Primitive::I32(Some(*int)), + proto::types::primitive::PrimitiveType::I64(int) => Primitive::I64(Some(*int)), + proto::types::primitive::PrimitiveType::I128(bytes) => Primitive::I128(Some( + i128::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?), + )), + proto::types::primitive::PrimitiveType::U8(int) => Primitive::U8(Some(*int as u8)), + proto::types::primitive::PrimitiveType::U16(int) => Primitive::U16(Some(*int as u16)), + proto::types::primitive::PrimitiveType::U32(int) => Primitive::U32(Some(*int)), + proto::types::primitive::PrimitiveType::U64(int) => Primitive::U64(Some(*int)), + proto::types::primitive::PrimitiveType::U128(bytes) => Primitive::U128(Some( + u128::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?), + )), + proto::types::primitive::PrimitiveType::Usize(int) => Primitive::USize(Some(*int)), + proto::types::primitive::PrimitiveType::Felt252(felt) => { + Primitive::Felt252(Some(Felt::from_bytes_be_slice(felt.as_slice()))) } - proto::types::value::ValueType::ByteValue(bytes) => { - match proto::types::PrimitiveType::from_i32(primitive_type) { - Some(proto::types::PrimitiveType::I128) => { - Primitive::I128(Some(i128::from_be_bytes( - bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?, - ))) - } - Some(proto::types::PrimitiveType::U128) => { - Primitive::U128(Some(u128::from_be_bytes( - bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?, - ))) - } - Some(proto::types::PrimitiveType::U256) => { - Primitive::U256(Some(U256::from_be_slice(bytes.as_slice()))) - } - Some(proto::types::PrimitiveType::Felt252) => { - Primitive::Felt252(Some(Felt::from_bytes_be_slice(bytes.as_slice()))) - } - Some(proto::types::PrimitiveType::ClassHash) => { - Primitive::ClassHash(Some(Felt::from_bytes_be_slice(bytes.as_slice()))) - } - Some(proto::types::PrimitiveType::ContractAddress) => { - Primitive::ContractAddress(Some(Felt::from_bytes_be_slice( - bytes.as_slice(), - ))) - } - _ => return Err(SchemaError::UnsupportedType("ByteValue".to_string())), - } + proto::types::primitive::PrimitiveType::ClassHash(felt) => { + Primitive::ClassHash(Some(Felt::from_bytes_be_slice(felt.as_slice()))) } - proto::types::value::ValueType::StringValue(str) => { - match proto::types::PrimitiveType::from_i32(primitive_type) { - Some(proto::types::PrimitiveType::I8) => { - Primitive::I8(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::I16) => { - Primitive::I16(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::I32) => { - Primitive::I32(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::I64) => { - Primitive::I64(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::I128) => { - Primitive::I128(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::U8) => { - Primitive::U8(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::U16) => { - Primitive::U16(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::U32) => { - Primitive::U32(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::U64) => { - Primitive::U64(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::U128) => { - Primitive::U128(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::Usize) => { - Primitive::USize(Some(str.parse().map_err(SchemaError::ParseIntError)?)) - } - Some(proto::types::PrimitiveType::Felt252) => { - Primitive::Felt252(Some(Felt::from_str(str).map_err(SchemaError::FromStr)?)) - } - Some(proto::types::PrimitiveType::ClassHash) => Primitive::ClassHash(Some( - Felt::from_str(str).map_err(SchemaError::FromStr)?, - )), - Some(proto::types::PrimitiveType::ContractAddress) => { - Primitive::ContractAddress(Some( - Felt::from_str(str).map_err(SchemaError::FromStr)?, - )) - } - _ => return Err(SchemaError::UnsupportedType("StringValue".to_string())), - } + proto::types::primitive::PrimitiveType::ContractAddress(felt) => { + Primitive::ContractAddress(Some(Felt::from_bytes_be_slice(felt.as_slice()))) } + proto::types::primitive::PrimitiveType::U256(bytes) => Primitive::U256(Some( + U256::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?), + )), }; Ok(primitive) @@ -279,39 +186,60 @@ impl TryFrom for Primitive { impl From for proto::types::Primitive { fn from(primitive: Primitive) -> Self { - use proto::types::value::ValueType; - - let value_type = match primitive { - Primitive::I8(i8) => ValueType::IntValue(i8.unwrap_or_default() as i64), - Primitive::I16(i16) => ValueType::IntValue(i16.unwrap_or_default() as i64), - Primitive::I32(i32) => ValueType::IntValue(i32.unwrap_or_default() as i64), - Primitive::I64(i64) => ValueType::IntValue(i64.unwrap_or_default()), - Primitive::I128(i128) => { - ValueType::ByteValue(i128.unwrap_or_default().to_be_bytes().to_vec()) + let value = match primitive { + Primitive::Bool(bool) => { + proto::types::primitive::PrimitiveType::Bool(bool.unwrap_or_default()) + } + Primitive::I8(i8) => { + proto::types::primitive::PrimitiveType::I8(i8.unwrap_or_default() as i32) } - Primitive::U8(u8) => ValueType::UintValue(u8.unwrap_or_default() as u64), - Primitive::U16(u16) => ValueType::UintValue(u16.unwrap_or_default() as u64), - Primitive::U32(u32) => ValueType::UintValue(u32.unwrap_or_default() as u64), - Primitive::U64(u64) => ValueType::UintValue(u64.unwrap_or_default()), - Primitive::U128(u128) => { - ValueType::ByteValue(u128.unwrap_or_default().to_be_bytes().to_vec()) + Primitive::I16(i16) => { + proto::types::primitive::PrimitiveType::I16(i16.unwrap_or_default() as i32) } - Primitive::U256(u256) => { - ValueType::ByteValue(u256.unwrap_or_default().to_be_bytes().to_vec()) + Primitive::I32(i32) => { + proto::types::primitive::PrimitiveType::I32(i32.unwrap_or_default()) } - Primitive::USize(usize) => ValueType::UintValue(usize.unwrap_or_default() as u64), - Primitive::Bool(bool) => ValueType::BoolValue(bool.unwrap_or_default()), - Primitive::Felt252(felt) - | Primitive::ClassHash(felt) - | Primitive::ContractAddress(felt) => { - ValueType::ByteValue(felt.unwrap_or_default().to_bytes_be().to_vec()) + Primitive::I64(i64) => { + proto::types::primitive::PrimitiveType::I64(i64.unwrap_or_default()) } + Primitive::I128(i128) => proto::types::primitive::PrimitiveType::I128( + i128.unwrap_or_default().to_be_bytes().to_vec(), + ), + Primitive::U8(u8) => { + proto::types::primitive::PrimitiveType::U8(u8.unwrap_or_default() as u32) + } + Primitive::U16(u16) => { + proto::types::primitive::PrimitiveType::U16(u16.unwrap_or_default() as u32) + } + Primitive::U32(u32) => { + proto::types::primitive::PrimitiveType::U32(u32.unwrap_or_default()) + } + Primitive::U64(u64) => { + proto::types::primitive::PrimitiveType::U64(u64.unwrap_or_default()) + } + Primitive::U128(u128) => proto::types::primitive::PrimitiveType::U128( + u128.unwrap_or_default().to_be_bytes().to_vec(), + ), + Primitive::USize(usize) => { + proto::types::primitive::PrimitiveType::Usize(usize.unwrap_or_default()) + } + Primitive::Felt252(felt) => proto::types::primitive::PrimitiveType::Felt252( + felt.unwrap_or_default().to_bytes_be().to_vec(), + ), + Primitive::ClassHash(felt) => proto::types::primitive::PrimitiveType::ClassHash( + felt.unwrap_or_default().to_bytes_be().to_vec(), + ), + Primitive::ContractAddress(felt) => { + proto::types::primitive::PrimitiveType::ContractAddress( + felt.unwrap_or_default().to_bytes_be().to_vec(), + ) + } + Primitive::U256(u256) => proto::types::primitive::PrimitiveType::U256( + u256.unwrap_or_default().to_be_bytes().to_vec(), + ), }; - proto::types::Primitive { - value: Some(proto::types::Value { value_type: Some(value_type) }), - r#type: primitive.to_numeric() as i32, - } + proto::types::Primitive { primitive_type: Some(value) } } } diff --git a/crates/torii/libp2p/Cargo.toml b/crates/torii/libp2p/Cargo.toml index b9d14ace28..ee7abd13a1 100644 --- a/crates/torii/libp2p/Cargo.toml +++ b/crates/torii/libp2p/Cargo.toml @@ -13,32 +13,28 @@ rand.workspace = true serde.workspace = true # preserve order anyhow.workspace = true -async-trait.workspace = true cainome.workspace = true chrono.workspace = true crypto-bigint.workspace = true dojo-types.workspace = true dojo-world = { path = "../../dojo-world", features = [ "contracts" ] } indexmap.workspace = true -regex.workspace = true serde_json.workspace = true starknet.workspace = true starknet-crypto.workspace = true thiserror.workspace = true tracing.workspace = true -tracing-subscriber = { version = "0.3", features = [ "env-filter" ] } [dev-dependencies] -dojo-test-utils.workspace = true katana-runner.workspace = true tempfile.workspace = true +tokio.workspace = true +tracing-subscriber.workspace = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies] libp2p = { git = "https://github.com/libp2p/rust-libp2p", features = [ "dns", "ed25519", "gossipsub", "identify", "macros", "noise", "ping", "quic", "relay", "tcp", "tokio", "websocket", "yamux" ], rev = "cdc9638" } libp2p-webrtc = { git = "https://github.com/libp2p/rust-libp2p", features = [ "pem", "tokio" ], rev = "cdc9638" } -rcgen = "0.13.1" sqlx.workspace = true -tokio.workspace = true torii-core.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] diff --git a/crates/torii/libp2p/src/lib.rs b/crates/torii/libp2p/src/lib.rs index 1eaf1a17bd..9d08de68c6 100644 --- a/crates/torii/libp2p/src/lib.rs +++ b/crates/torii/libp2p/src/lib.rs @@ -1,3 +1,5 @@ +#![warn(unused_crate_dependencies)] + pub mod client; mod constants; pub mod errors; diff --git a/crates/torii/libp2p/src/server/mod.rs b/crates/torii/libp2p/src/server/mod.rs index 9bc1e25ce3..5682c8ac54 100644 --- a/crates/torii/libp2p/src/server/mod.rs +++ b/crates/torii/libp2p/src/server/mod.rs @@ -25,7 +25,9 @@ use starknet::core::types::{BlockId, BlockTag, Felt, FunctionCall}; use starknet::core::utils::get_selector_from_name; use starknet::providers::Provider; use starknet_crypto::poseidon_hash_many; -use torii_core::sql::{felts_sql_string, Sql}; +use torii_core::executor::QueryMessage; +use torii_core::sql::utils::felts_to_sql_string; +use torii_core::sql::Sql; use tracing::{info, warn}; use webrtc::tokio::Certificate; @@ -245,7 +247,7 @@ impl Relay

{ continue; } }; - let keys_str = felts_sql_string(&keys); + let keys_str = felts_to_sql_string(&keys); let entity_id = poseidon_hash_many(&keys); let model_id = ty_model_id(&ty).unwrap(); @@ -529,7 +531,7 @@ async fn set_entity( keys: &str, ) -> anyhow::Result<()> { db.set_entity(ty, message_id, block_timestamp, entity_id, model_id, Some(keys)).await?; - db.execute().await?; + db.executor.send(QueryMessage::execute())?; Ok(()) } diff --git a/crates/torii/libp2p/src/tests.rs b/crates/torii/libp2p/src/tests.rs index 7be8d30092..dcc3af889f 100644 --- a/crates/torii/libp2p/src/tests.rs +++ b/crates/torii/libp2p/src/tests.rs @@ -12,15 +12,9 @@ mod test { use crypto_bigint::U256; use dojo_types::primitive::Primitive; use dojo_types::schema::{Enum, EnumOption, Member, Struct, Ty}; - use dojo_world::contracts::abi::model::Layout; - use futures::StreamExt; use katana_runner::KatanaRunner; use serde_json::Number; - use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions}; use starknet::core::types::Felt; - use torii_core::simple_broker::SimpleBroker; - use torii_core::sql::Sql; - use torii_core::types::EventMessage; #[cfg(target_arch = "wasm32")] use wasm_bindgen_test::*; @@ -530,6 +524,7 @@ mod test { #[cfg(not(target_arch = "wasm32"))] #[tokio::test] async fn test_client_messaging() -> Result<(), Box> { + use std::collections::HashMap; use std::time::Duration; use dojo_types::schema::{Member, Struct, Ty}; @@ -540,9 +535,13 @@ mod test { use starknet::providers::JsonRpcClient; use starknet::signers::SigningKey; use starknet_crypto::Felt; + use tempfile::NamedTempFile; use tokio::select; + use tokio::sync::broadcast; use tokio::time::sleep; + use torii_core::executor::Executor; use torii_core::sql::Sql; + use torii_core::types::ContractType; use crate::server::Relay; use crate::typed_data::{Domain, Field, SimpleField, TypedData}; @@ -553,10 +552,18 @@ mod test { .try_init(); // Database - let options = ::from_str("sqlite::memory:") + let tempfile = NamedTempFile::new().unwrap(); + let path = tempfile.path().to_string_lossy(); + let options = ::from_str(&path) .unwrap() .create_if_missing(true); - let pool = SqlitePoolOptions::new().max_connections(5).connect_with(options).await.unwrap(); + let pool = SqlitePoolOptions::new() + .min_connections(1) + .idle_timeout(None) + .max_lifetime(None) + .connect_with(options) + .await + .unwrap(); sqlx::migrate!("../migrations").run(&pool).await.unwrap(); let sequencer = KatanaRunner::new().expect("Failed to create Katana sequencer"); @@ -565,7 +572,16 @@ mod test { let account = sequencer.account_data(0); - let mut db = Sql::new(pool.clone(), Felt::ZERO).await?; + let (shutdown_tx, _) = broadcast::channel(1); + let (mut executor, sender) = + Executor::new(pool.clone(), shutdown_tx.clone()).await.unwrap(); + tokio::spawn(async move { + executor.run().await.unwrap(); + }); + let mut db = + Sql::new(pool.clone(), sender, &HashMap::from([(Felt::ZERO, ContractType::WORLD)])) + .await + .unwrap(); // Register the model of our Message db.register_model( @@ -686,57 +702,6 @@ mod test { } } - // Test to verify that setting an entity message in the SQL database - // triggers a publish event on the broker - #[tokio::test] - async fn test_entity_message_trigger_publish() -> Result<(), Box> { - let _ = tracing_subscriber::fmt() - .with_env_filter("torii::relay::client=debug,torii::relay::server=debug") - .try_init(); - - let options = ::from_str("sqlite::memory:") - .unwrap() - .create_if_missing(true); - let pool = SqlitePoolOptions::new().max_connections(5).connect_with(options).await.unwrap(); - sqlx::migrate!("../migrations").run(&pool).await.unwrap(); - - let mut db = Sql::new(pool.clone(), Felt::ZERO).await.unwrap(); - let mut broker = SimpleBroker::::subscribe(); - - let entity = Ty::Struct(Struct { name: "Message".to_string(), children: vec![] }); - db.register_model( - "test_namespace", - entity.clone(), - Layout::Fixed(vec![]), - Felt::ZERO, - Felt::ZERO, - 0, - 0, - 0, - ) - .await?; - - // FIXME: register_model and set_event_message handle the name and namespace of entity type - // differently. - let entity = - Ty::Struct(Struct { name: "test_namespace-Message".to_string(), children: vec![] }); - - // Set the event message in the database - db.set_event_message(entity, "some_entity_id", 0).await?; - db.query_queue.execute_all().await?; - - // Check if a message was published to the broker - tokio::select! { - Some(message) = broker.next() => { - println!("Received message: {:?}", message); - Ok(()) - }, - _ = tokio::time::sleep(std::time::Duration::from_secs(5)) => { - Err("Timeout: No message received".into()) - } - } - } - #[cfg(target_arch = "wasm32")] #[wasm_bindgen_test] async fn test_client_connection_wasm() -> Result<(), Box> { diff --git a/crates/torii/migrations/20240913104418_add_erc.sql b/crates/torii/migrations/20240913104418_add_erc.sql new file mode 100644 index 0000000000..2d288b7aca --- /dev/null +++ b/crates/torii/migrations/20240913104418_add_erc.sql @@ -0,0 +1,35 @@ +CREATE TABLE balances ( + -- account_address:token_id + id TEXT NOT NULL PRIMARY KEY, + balance TEXT NOT NULL, + account_address TEXT NOT NULL, + contract_address TEXT NOT NULL, + -- contract_address:token_id + token_id TEXT NOT NULL, + FOREIGN KEY (token_id) REFERENCES tokens(id) +); + +CREATE INDEX balances_account_address ON balances (account_address); +CREATE INDEX balances_contract_address ON balances (contract_address); + +CREATE TABLE tokens ( + -- contract_address:token_id + id TEXT NOT NULL PRIMARY KEY, + contract_address TEXT NOT NULL, + name TEXT NOT NULL, + symbol TEXT NOT NULL, + decimals INTEGER NOT NULL, + FOREIGN KEY (contract_address) REFERENCES contracts(id) +); + +CREATE TABLE erc_transfers ( + id TEXT NOT NULL PRIMARY KEY, + contract_address TEXT NOT NULL, + from_address TEXT NOT NULL, + to_address TEXT NOT NULL, + amount TEXT NOT NULL, + -- contract_address:token_id + token_id TEXT NOT NULL, + executed_at DATETIME NOT NULL, + FOREIGN KEY (token_id) REFERENCES tokens(id) +); diff --git a/crates/torii/migrations/20240918200125_rename_column_contracts_table.sql b/crates/torii/migrations/20240918200125_rename_column_contracts_table.sql new file mode 100644 index 0000000000..3213853e8a --- /dev/null +++ b/crates/torii/migrations/20240918200125_rename_column_contracts_table.sql @@ -0,0 +1 @@ +ALTER TABLE contracts RENAME COLUMN last_pending_block_world_tx TO last_pending_block_contract_tx; diff --git a/crates/torii/migrations/20240923155431_tps.sql b/crates/torii/migrations/20240923155431_tps.sql new file mode 100644 index 0000000000..231b4c4edc --- /dev/null +++ b/crates/torii/migrations/20240923155431_tps.sql @@ -0,0 +1,3 @@ +-- Add last_block_timestamp column for TPS calculation +ALTER TABLE contracts ADD COLUMN last_block_timestamp INTEGER; +ALTER TABLE contracts ADD COLUMN tps INTEGER; \ No newline at end of file diff --git a/crates/torii/server/src/proxy.rs b/crates/torii/server/src/proxy.rs index 30ee956f79..4c759e8b1a 100644 --- a/crates/torii/server/src/proxy.rs +++ b/crates/torii/server/src/proxy.rs @@ -17,7 +17,7 @@ use tower::ServiceBuilder; use tower_http::cors::{AllowOrigin, CorsLayer}; use tracing::error; -const DEFAULT_ALLOW_HEADERS: [&str; 11] = [ +const DEFAULT_ALLOW_HEADERS: [&str; 13] = [ "accept", "origin", "content-type", @@ -29,9 +29,11 @@ const DEFAULT_ALLOW_HEADERS: [&str; 11] = [ "connection", "sec-websocket-key", "sec-websocket-version", + "grpc-accept-encoding", + "grpc-encoding", ]; -const DEFAULT_EXPOSED_HEADERS: [&str; 3] = - ["grpc-status", "grpc-message", "grpc-status-details-bin"]; +const DEFAULT_EXPOSED_HEADERS: [&str; 4] = + ["grpc-status", "grpc-message", "grpc-status-details-bin", "grpc-encoding"]; const DEFAULT_MAX_AGE: Duration = Duration::from_secs(24 * 60 * 60); lazy_static::lazy_static! { diff --git a/crates/torii/types-test/dojo_dev.toml b/crates/torii/types-test/dojo_dev.toml index e88393a3dc..ce10d8665d 100644 --- a/crates/torii/types-test/dojo_dev.toml +++ b/crates/torii/types-test/dojo_dev.toml @@ -11,6 +11,6 @@ description = "Graphql types testing" default = "types_test" [env] -account_address = "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" +account_address = "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" private_key = "0x1800000000300000180000000000030000000000003006001800006600" rpc_url = "http://localhost:5050/" diff --git a/examples/rpc/starknet/starknet_getBlockWithReceipts.hurl b/examples/rpc/starknet/starknet_getBlockWithReceipts.hurl index 9df401069a..a572caa629 100644 --- a/examples/rpc/starknet/starknet_getBlockWithReceipts.hurl +++ b/examples/rpc/starknet/starknet_getBlockWithReceipts.hurl @@ -16,6 +16,6 @@ jsonpath "$.result.transactions" isCollection jsonpath "$.result.block_number" isInteger jsonpath "$.result.block_hash" matches /^0x[A-Fa-f0-9]+$/ jsonpath "$.result.parent_hash" matches /^0x[A-Fa-f0-9]+$/ -jsonpath "$.result.starknet_version" matches /^[0-9]+.[0-9]+.[0-9]+$/ +jsonpath "$.result.starknet_version" matches /^[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?$/ jsonpath "$.result.transactions[*].transaction" exists jsonpath "$.result.transactions[*].receipt" exists diff --git a/examples/rpc/starknet/starknet_getBlockWithTxHashes.hurl b/examples/rpc/starknet/starknet_getBlockWithTxHashes.hurl index e978694681..95d7248c09 100644 --- a/examples/rpc/starknet/starknet_getBlockWithTxHashes.hurl +++ b/examples/rpc/starknet/starknet_getBlockWithTxHashes.hurl @@ -18,5 +18,4 @@ jsonpath "$.result.transactions" isCollection jsonpath "$.result.block_number" isInteger jsonpath "$.result.block_hash" matches /^0x[A-Fa-f0-9]+$/ jsonpath "$.result.parent_hash" matches /^0x[A-Fa-f0-9]+$/ -jsonpath "$.result.starknet_version" matches /^[0-9]+.[0-9]+.[0-9]+$/ - +jsonpath "$.result.starknet_version" matches /^[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?$/ diff --git a/examples/rpc/starknet/starknet_getBlockWithTxs.hurl b/examples/rpc/starknet/starknet_getBlockWithTxs.hurl index 106716e4a1..4c6f38b646 100644 --- a/examples/rpc/starknet/starknet_getBlockWithTxs.hurl +++ b/examples/rpc/starknet/starknet_getBlockWithTxs.hurl @@ -16,4 +16,4 @@ jsonpath "$.result.transactions" isCollection jsonpath "$.result.block_number" isInteger jsonpath "$.result.block_hash" matches /^0x[A-Fa-f0-9]+$/ jsonpath "$.result.parent_hash" matches /^0x[A-Fa-f0-9]+$/ -jsonpath "$.result.starknet_version" matches /^[0-9]+.[0-9]+.[0-9]+$/ +jsonpath "$.result.starknet_version" matches /^[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?$/ diff --git a/examples/rpc/starknet/starknet_getClass.hurl b/examples/rpc/starknet/starknet_getClass.hurl index 38de6935a1..1157cb4c13 100644 --- a/examples/rpc/starknet/starknet_getClass.hurl +++ b/examples/rpc/starknet/starknet_getClass.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getClass", "params": [ "latest", - "0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c" + "0x07dc7899aa655b0aae51eadff6d801a58e97dd99cf4666ee59e704249e51adf2" ], "id":1 } diff --git a/examples/rpc/starknet/starknet_getClassAt.hurl b/examples/rpc/starknet/starknet_getClassAt.hurl index fe08b17864..fbe5a095f2 100644 --- a/examples/rpc/starknet/starknet_getClassAt.hurl +++ b/examples/rpc/starknet/starknet_getClassAt.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getClassAt", "params": [ "latest", - "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" + "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" ], "id":1 } diff --git a/examples/rpc/starknet/starknet_getClassHashAt.hurl b/examples/rpc/starknet/starknet_getClassHashAt.hurl index 3df06a3733..3ae7f0ee92 100644 --- a/examples/rpc/starknet/starknet_getClassHashAt.hurl +++ b/examples/rpc/starknet/starknet_getClassHashAt.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getClassHashAt", "params": [ "pending", - "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" + "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" ], "id": 1 } @@ -13,4 +13,4 @@ Content-Type: application/json HTTP 200 [Asserts] jsonpath "$.error" not exists -jsonpath "$.result" matches /^0x[A-Fa-f0-9]+$/ \ No newline at end of file +jsonpath "$.result" matches /^0x[A-Fa-f0-9]+$/ diff --git a/examples/rpc/starknet/starknet_getNonce.hurl b/examples/rpc/starknet/starknet_getNonce.hurl index 736c1cb15b..a5ad5712b4 100644 --- a/examples/rpc/starknet/starknet_getNonce.hurl +++ b/examples/rpc/starknet/starknet_getNonce.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getNonce", "params": [ "latest", - "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" + "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" ], "id":1 } diff --git a/examples/rpc/starknet/starknet_getTransactionStatus.hurl b/examples/rpc/starknet/starknet_getTransactionStatus.hurl index 13cc11f322..ca4de48efe 100644 --- a/examples/rpc/starknet/starknet_getTransactionStatus.hurl +++ b/examples/rpc/starknet/starknet_getTransactionStatus.hurl @@ -12,4 +12,5 @@ Content-Type: application/json HTTP 200 [Asserts] jsonpath "$.error.message" equals "Transaction hash not found" +jsonpath "$.error.code" == 29 jsonpath "$.result" not exists diff --git a/examples/rpc/starknet/starknet_trace.hurl b/examples/rpc/starknet/starknet_trace.hurl index 56f5f9bdeb..7ab6217154 100644 --- a/examples/rpc/starknet/starknet_trace.hurl +++ b/examples/rpc/starknet/starknet_trace.hurl @@ -4,15 +4,14 @@ Content-Type: application/json { "jsonrpc": "2.0", "method": "starknet_traceTransaction", - "params": ["0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"], - "id": 2 + "params": ["0x1337"], + "id": 1 } HTTP 200 [Asserts] -jsonpath "$.error" exists -jsonpath "$.error.code" == -32601 -jsonpath "$.error.message" == "Unsupported method - starknet_traceTransaction" +jsonpath "$.error.message" equals "Transaction hash not found" +jsonpath "$.error.code" == 29 jsonpath "$.result" not exists # starknet_traceBlockTransactions @@ -21,13 +20,28 @@ Content-Type: application/json { "jsonrpc": "2.0", "method": "starknet_traceBlockTransactions", - "params": ["latest"], + "params": [{ "block_number": 0 }], + "id": 1 +} + +HTTP 200 +[Asserts] +jsonpath "$.result" exists +jsonpath "$.result" isEmpty +jsonpath "$.error" not exists + +# starknet_traceBlockTransactions +POST http://0.0.0.0:5050 +Content-Type: application/json +{ + "jsonrpc": "2.0", + "method": "starknet_traceBlockTransactions", + "params": [{ "block_number": 677 }], "id": 1 } HTTP 200 [Asserts] -jsonpath "$.error" exists -jsonpath "$.error.code" == -32601 -jsonpath "$.error.message" == "Unsupported method - starknet_traceBlockTransactions" +jsonpath "$.error.message" equals "Block not found" +jsonpath "$.error.code" == 24 jsonpath "$.result" not exists diff --git a/examples/spawn-and-move/README.md b/examples/spawn-and-move/README.md index 5d1bc4cbb3..686942f2bd 100644 --- a/examples/spawn-and-move/README.md +++ b/examples/spawn-and-move/README.md @@ -33,12 +33,12 @@ sozo model schema Moves --world 0x33ac2f528bb97cc7b79148fd1756dc368be0e95d391d8c > } # Get the value of the Moves model for an entity. (in this example, -# 0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03, is +# 0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba, is # the calling account which is also the key to retrieve a Moves model) -sozo model get Moves 0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 --world 0x33ac2f528bb97cc7b79148fd1756dc368be0e95d391d8c6d6473ecb60b4560e +sozo model get Moves 0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba --world 0x33ac2f528bb97cc7b79148fd1756dc368be0e95d391d8c6d6473ecb60b4560e > struct Moves { > #[key] -> player: ContractAddress = 0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03, +> player: ContractAddress = 0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba, > remaining: u8 = 0, > last_direction: Direction = None, > } @@ -48,10 +48,10 @@ sozo model get Moves 0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786b sozo execute 0x152dcff993befafe5001975149d2c50bd9621da7cbaed74f68e7d5e54e65abc spawn # Fetch the updated entity. -sozo model get Moves 0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 --world 0x33ac2f528bb97cc7b79148fd1756dc368be0e95d391d8c6d6473ecb60b4560e +sozo model get Moves 0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba --world 0x33ac2f528bb97cc7b79148fd1756dc368be0e95d391d8c6d6473ecb60b4560e > struct Moves { > #[key] -> player: ContractAddress = 0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03, +> player: ContractAddress = 0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba, > remaining: u8 = 1, > last_direction: Direction = None, > } diff --git a/examples/spawn-and-move/dojo_dev.toml b/examples/spawn-and-move/dojo_dev.toml index a132488bf0..025ec87e89 100644 --- a/examples/spawn-and-move/dojo_dev.toml +++ b/examples/spawn-and-move/dojo_dev.toml @@ -12,6 +12,6 @@ mappings = { "armory-Flatbow" = "dojo_examples_weapons", "bestiary" = "dojo_exam [env] rpc_url = "http://localhost:5050/" # Default account for katana with seed = 0 -account_address = "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" +account_address = "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" private_key = "0x1800000000300000180000000000030000000000003006001800006600" -world_address = "0x15b584f1132fe386a0aa7a447e7073233a545ac4b84b361ed797edaa8f0f14" +world_address = "0x46c1fd10836a8426197bf412fc5f26ea10f11a8d5c61474407f03f82c096593" diff --git a/examples/spawn-and-move/dojo_release.toml b/examples/spawn-and-move/dojo_release.toml index 053cc2118e..605720d62c 100644 --- a/examples/spawn-and-move/dojo_release.toml +++ b/examples/spawn-and-move/dojo_release.toml @@ -12,7 +12,7 @@ mappings = { "armory-Flatbow" = "dojo_examples_weapons", "bestiary" = "dojo_exam [env] rpc_url = "http://localhost:5050/" # Default account for katana with seed = 0 -account_address = "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" +account_address = "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" private_key = "0x1800000000300000180000000000030000000000003006001800006600" world_address = "0x577ff0295103774d1bedd597a1c5673670eea0bb2cdeba6b8205d79396825b3" diff --git a/examples/spawn-and-move/dojo_saya.toml b/examples/spawn-and-move/dojo_saya.toml new file mode 100644 index 0000000000..35c4a1a0fe --- /dev/null +++ b/examples/spawn-and-move/dojo_saya.toml @@ -0,0 +1,14 @@ +[world] +description = "example world" +name = "example" +# Change the seed to something unique to you +seed = "saya-1" + +[namespace] +default = "dojo_examples" +mappings = { "armory-Flatbow" = "dojo_examples_weapons", "bestiary" = "dojo_examples_foes" } + +[migration] +skip_contracts = ["dojo_examples-mock_token"] + +# Don't use env voluntarly, it's setup in the bin/saya/README.md and associated scripts. diff --git a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-actions-40b6994c.json b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-actions-40b6994c.json index fdba39296f..ce8ce13c25 100644 --- a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-actions-40b6994c.json +++ b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-actions-40b6994c.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json index 91fe2a95d0..753438f06f 100644 --- a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json +++ b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-mock_token-31599eb2.json b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-mock_token-31599eb2.json index 278cbb1cc0..c72fe81e69 100644 --- a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-mock_token-31599eb2.json +++ b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-mock_token-31599eb2.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-others-61de2c18.json b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-others-61de2c18.json index 86d2a176ff..b8cbcf6f22 100644 --- a/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-others-61de2c18.json +++ b/examples/spawn-and-move/manifests/dev/base/abis/contracts/dojo_examples-others-61de2c18.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-actions-40b6994c.toml b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-actions-40b6994c.toml index 0ae312f5c4..6fbfd7f944 100644 --- a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-actions-40b6994c.toml +++ b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-actions-40b6994c.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d" -original_class_hash = "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d" +class_hash = "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941" +original_class_hash = "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941" base_class_hash = "0x0" abi = "manifests/dev/base/abis/contracts/dojo_examples-actions-40b6994c.json" reads = [] diff --git a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-dungeon-6620e0e6.toml b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-dungeon-6620e0e6.toml index 75d087c886..cf60c05c33 100644 --- a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-dungeon-6620e0e6.toml +++ b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-dungeon-6620e0e6.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d" -original_class_hash = "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d" +class_hash = "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62" +original_class_hash = "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62" base_class_hash = "0x0" abi = "manifests/dev/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json" reads = [] diff --git a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-mock_token-31599eb2.toml b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-mock_token-31599eb2.toml index 6385a30c6c..1f108c745f 100644 --- a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-mock_token-31599eb2.toml +++ b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-mock_token-31599eb2.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393" -original_class_hash = "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393" +class_hash = "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a" +original_class_hash = "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a" base_class_hash = "0x0" abi = "manifests/dev/base/abis/contracts/dojo_examples-mock_token-31599eb2.json" reads = [] diff --git a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-others-61de2c18.toml b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-others-61de2c18.toml index 5a43d3fad8..910cd889a8 100644 --- a/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-others-61de2c18.toml +++ b/examples/spawn-and-move/manifests/dev/base/contracts/dojo_examples-others-61de2c18.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87" -original_class_hash = "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87" +class_hash = "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18" +original_class_hash = "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18" base_class_hash = "0x0" abi = "manifests/dev/base/abis/contracts/dojo_examples-others-61de2c18.json" reads = [] diff --git a/examples/spawn-and-move/manifests/dev/base/dojo-world.toml b/examples/spawn-and-move/manifests/dev/base/dojo-world.toml index fcb2f0e910..4dfc391ebd 100644 --- a/examples/spawn-and-move/manifests/dev/base/dojo-world.toml +++ b/examples/spawn-and-move/manifests/dev/base/dojo-world.toml @@ -1,6 +1,6 @@ kind = "Class" -class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" -original_class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" +class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" +original_class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" abi = "manifests/dev/base/abis/dojo-world.json" tag = "dojo-world" manifest_name = "dojo-world" diff --git a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-actions-40b6994c.json b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-actions-40b6994c.json index fdba39296f..ce8ce13c25 100644 --- a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-actions-40b6994c.json +++ b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-actions-40b6994c.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-dungeon-6620e0e6.json b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-dungeon-6620e0e6.json index 91fe2a95d0..753438f06f 100644 --- a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-dungeon-6620e0e6.json +++ b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-dungeon-6620e0e6.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-mock_token-31599eb2.json b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-mock_token-31599eb2.json index 278cbb1cc0..c72fe81e69 100644 --- a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-mock_token-31599eb2.json +++ b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-mock_token-31599eb2.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-others-61de2c18.json b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-others-61de2c18.json index 86d2a176ff..b8cbcf6f22 100644 --- a/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-others-61de2c18.json +++ b/examples/spawn-and-move/manifests/dev/deployment/abis/contracts/dojo_examples-others-61de2c18.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/deployment/manifest.json b/examples/spawn-and-move/manifests/dev/deployment/manifest.json index 8665507c3f..c3d4991c46 100644 --- a/examples/spawn-and-move/manifests/dev/deployment/manifest.json +++ b/examples/spawn-and-move/manifests/dev/deployment/manifest.json @@ -1,8 +1,8 @@ { "world": { "kind": "WorldContract", - "class_hash": "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0", - "original_class_hash": "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0", + "class_hash": "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce", + "original_class_hash": "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce", "abi": [ { "type": "impl", @@ -1234,8 +1234,8 @@ ] } ], - "address": "0x15b584f1132fe386a0aa7a447e7073233a545ac4b84b361ed797edaa8f0f14", - "transaction_hash": "0x715b5d1bde9766b6db3f8b903a0626343c553a91e199f96d721644d121e676b", + "address": "0x46c1fd10836a8426197bf412fc5f26ea10f11a8d5c61474407f03f82c096593", + "transaction_hash": "0x7f540b040b1638b76a7f2a8fc13a33050d1c0556a63814f319a01d022b172cf", "block_number": 3, "seed": "dojo_examples", "metadata": { @@ -1255,9 +1255,9 @@ "contracts": [ { "kind": "DojoContract", - "address": "0x54de18a0d4dcd51213c3375061fd5cd5a30dbefdb50c9718ae9a8004162abbd", - "class_hash": "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d", - "original_class_hash": "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d", + "address": "0x7fed9d6acaa45011152ea992784d41df3ae74eedbc199feb91b3fcbdb78abad", + "class_hash": "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941", + "original_class_hash": "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1289,7 +1289,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { @@ -1686,9 +1686,9 @@ }, { "kind": "DojoContract", - "address": "0x3af2ea94daa59a22d5b979004019de544dbf92a2e4ff5f4869abb7ded9ca669", - "class_hash": "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d", - "original_class_hash": "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d", + "address": "0x47dcd4e30618d32fd27951e977df1d819d6edff2506e52c653f658134062036", + "class_hash": "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62", + "original_class_hash": "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1720,7 +1720,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { @@ -1925,9 +1925,9 @@ }, { "kind": "DojoContract", - "address": "0x7ba7852396ce1e20e332e6ad1af1a978c866d61d8ad3d2d58f618dac027c8e1", - "class_hash": "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393", - "original_class_hash": "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393", + "address": "0x71c327d19b2d0c6a0f65cced59f60fe69776af6885e8f42d8f6775af00f5d5b", + "class_hash": "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a", + "original_class_hash": "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1959,7 +1959,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { @@ -2146,9 +2146,9 @@ }, { "kind": "DojoContract", - "address": "0x3be251ef8450c757a5712e203eef1ce65a49678a3fe711df29012de99d61c8", - "class_hash": "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87", - "original_class_hash": "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87", + "address": "0x6a116545acc77daea729bf5f14a71f634ddddedb7e7e77f280d8d984054edaf", + "class_hash": "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18", + "original_class_hash": "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -2180,7 +2180,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/dev/deployment/manifest.toml b/examples/spawn-and-move/manifests/dev/deployment/manifest.toml index 0bc300f306..4e1ffec809 100644 --- a/examples/spawn-and-move/manifests/dev/deployment/manifest.toml +++ b/examples/spawn-and-move/manifests/dev/deployment/manifest.toml @@ -1,10 +1,10 @@ [world] kind = "WorldContract" -class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" -original_class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" +class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" +original_class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" abi = "manifests/dev/deployment/abis/dojo-world.json" -address = "0x15b584f1132fe386a0aa7a447e7073233a545ac4b84b361ed797edaa8f0f14" -transaction_hash = "0x715b5d1bde9766b6db3f8b903a0626343c553a91e199f96d721644d121e676b" +address = "0x46c1fd10836a8426197bf412fc5f26ea10f11a8d5c61474407f03f82c096593" +transaction_hash = "0x7f540b040b1638b76a7f2a8fc13a33050d1c0556a63814f319a01d022b172cf" block_number = 3 seed = "dojo_examples" manifest_name = "dojo-world" @@ -23,9 +23,9 @@ manifest_name = "dojo-base" [[contracts]] kind = "DojoContract" -address = "0x54de18a0d4dcd51213c3375061fd5cd5a30dbefdb50c9718ae9a8004162abbd" -class_hash = "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d" -original_class_hash = "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d" +address = "0x7fed9d6acaa45011152ea992784d41df3ae74eedbc199feb91b3fcbdb78abad" +class_hash = "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941" +original_class_hash = "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/dojo_examples-actions-40b6994c.json" reads = [] @@ -47,9 +47,9 @@ manifest_name = "dojo_examples-actions-40b6994c" [[contracts]] kind = "DojoContract" -address = "0x3af2ea94daa59a22d5b979004019de544dbf92a2e4ff5f4869abb7ded9ca669" -class_hash = "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d" -original_class_hash = "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d" +address = "0x47dcd4e30618d32fd27951e977df1d819d6edff2506e52c653f658134062036" +class_hash = "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62" +original_class_hash = "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/dojo_examples-dungeon-6620e0e6.json" reads = [] @@ -61,9 +61,9 @@ manifest_name = "dojo_examples-dungeon-6620e0e6" [[contracts]] kind = "DojoContract" -address = "0x7ba7852396ce1e20e332e6ad1af1a978c866d61d8ad3d2d58f618dac027c8e1" -class_hash = "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393" -original_class_hash = "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393" +address = "0x71c327d19b2d0c6a0f65cced59f60fe69776af6885e8f42d8f6775af00f5d5b" +class_hash = "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a" +original_class_hash = "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/dojo_examples-mock_token-31599eb2.json" reads = [] @@ -75,9 +75,9 @@ manifest_name = "dojo_examples-mock_token-31599eb2" [[contracts]] kind = "DojoContract" -address = "0x3be251ef8450c757a5712e203eef1ce65a49678a3fe711df29012de99d61c8" -class_hash = "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87" -original_class_hash = "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87" +address = "0x6a116545acc77daea729bf5f14a71f634ddddedb7e7e77f280d8d984054edaf" +class_hash = "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18" +original_class_hash = "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/dojo_examples-others-61de2c18.json" reads = [] diff --git a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-actions-40b6994c.json b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-actions-40b6994c.json index fdba39296f..ce8ce13c25 100644 --- a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-actions-40b6994c.json +++ b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-actions-40b6994c.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json index 91fe2a95d0..753438f06f 100644 --- a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json +++ b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-mock_token-31599eb2.json b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-mock_token-31599eb2.json index 278cbb1cc0..c72fe81e69 100644 --- a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-mock_token-31599eb2.json +++ b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-mock_token-31599eb2.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-others-61de2c18.json b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-others-61de2c18.json index 86d2a176ff..b8cbcf6f22 100644 --- a/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-others-61de2c18.json +++ b/examples/spawn-and-move/manifests/release/base/abis/contracts/dojo_examples-others-61de2c18.json @@ -28,7 +28,7 @@ "items": [ { "type": "function", - "name": "contract_name", + "name": "name", "inputs": [], "outputs": [ { diff --git a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-actions-40b6994c.toml b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-actions-40b6994c.toml index eaf518064d..e15acdf766 100644 --- a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-actions-40b6994c.toml +++ b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-actions-40b6994c.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d" -original_class_hash = "0x67a20ea91a4b9bb9cdb46cefc41dd6ca4c07c22d4d413205720963944fd817d" +class_hash = "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941" +original_class_hash = "0x2aaecb3ded9ebb721f13780007e9704cba0d96b48195f357a35f4969d1b1941" base_class_hash = "0x0" abi = "manifests/release/base/abis/contracts/dojo_examples-actions-40b6994c.json" reads = [] diff --git a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-dungeon-6620e0e6.toml b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-dungeon-6620e0e6.toml index a3a45a7634..2d3cd43c81 100644 --- a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-dungeon-6620e0e6.toml +++ b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-dungeon-6620e0e6.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d" -original_class_hash = "0x4590a27e4ec7366358ba5f60323777f301435ebbdd113ab02c54b947717530d" +class_hash = "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62" +original_class_hash = "0x117e4d75bef86d66e413d13f30904d2c93798f513ffa0bf83b4fac3fdfc4a62" base_class_hash = "0x0" abi = "manifests/release/base/abis/contracts/dojo_examples-dungeon-6620e0e6.json" reads = [] diff --git a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-mock_token-31599eb2.toml b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-mock_token-31599eb2.toml index a91d6e646d..9619bdb4e6 100644 --- a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-mock_token-31599eb2.toml +++ b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-mock_token-31599eb2.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393" -original_class_hash = "0x67edb33671cd2f5b766d073e3dec53b03400761a20f349ea9628cf4c883b393" +class_hash = "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a" +original_class_hash = "0x3ad65950996d7b0bc6c04a94d401cdb19bda3ab2cffc2098d90e25077dfa11a" base_class_hash = "0x0" abi = "manifests/release/base/abis/contracts/dojo_examples-mock_token-31599eb2.json" reads = [] diff --git a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-others-61de2c18.toml b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-others-61de2c18.toml index 0e3f247385..a5627d0b65 100644 --- a/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-others-61de2c18.toml +++ b/examples/spawn-and-move/manifests/release/base/contracts/dojo_examples-others-61de2c18.toml @@ -1,6 +1,6 @@ kind = "DojoContract" -class_hash = "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87" -original_class_hash = "0x40e824b8814bafef18cce2cf68f5765e9c9a1c86f55a8491b0c2a4faebdcc87" +class_hash = "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18" +original_class_hash = "0x2331b72955719869459bdacf66061a55975d6c2bc379349b082ee9d9a350a18" base_class_hash = "0x0" abi = "manifests/release/base/abis/contracts/dojo_examples-others-61de2c18.json" reads = [] diff --git a/examples/spawn-and-move/manifests/release/base/dojo-world.toml b/examples/spawn-and-move/manifests/release/base/dojo-world.toml index c97d092ceb..39ebfa681c 100644 --- a/examples/spawn-and-move/manifests/release/base/dojo-world.toml +++ b/examples/spawn-and-move/manifests/release/base/dojo-world.toml @@ -1,6 +1,6 @@ kind = "Class" -class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" -original_class_hash = "0x5c4271c8cd454ceb8049d2b0724c99d12c2ef8077fc6ad325b18978f614aab0" +class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" +original_class_hash = "0x6f38d5d9507c5d9546290e1a27e309efe5a9af3770b6cc1627db4a1b90a7dce" abi = "manifests/release/base/abis/dojo-world.json" tag = "dojo-world" manifest_name = "dojo-world" diff --git a/examples/spawn-and-move/overlays/saya/actions.toml b/examples/spawn-and-move/overlays/saya/actions.toml new file mode 100644 index 0000000000..950f471147 --- /dev/null +++ b/examples/spawn-and-move/overlays/saya/actions.toml @@ -0,0 +1,2 @@ +tag = "dojo_examples-actions" +writes = [ "ns:dojo_examples" ] diff --git a/examples/spawn-and-move/overlays/saya/others.toml b/examples/spawn-and-move/overlays/saya/others.toml new file mode 100644 index 0000000000..effbcca1da --- /dev/null +++ b/examples/spawn-and-move/overlays/saya/others.toml @@ -0,0 +1,2 @@ +tag = "dojo_examples-others" +init_calldata = ["$contract_address:dojo_examples-actions", "$class_hash:dojo_examples-actions", "10"] diff --git a/monitoring/grafana/katana.json b/monitoring/grafana/katana.json deleted file mode 100644 index db272bae15..0000000000 --- a/monitoring/grafana/katana.json +++ /dev/null @@ -1,1846 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 2, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 125, - "panels": [], - "title": "Database", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "id": 124, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"BlockBodyIndices\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "BlockBodyIndices", - "range": true, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"BlockHashes\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "BlockHashes", - "range": true, - "refId": "B", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"BlockNumbers\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "BlockNumbers", - "range": true, - "refId": "C", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"BlockStatusses\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "BlockStatusses", - "range": true, - "refId": "D", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"ClassChangeHistory\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "ClassChangeHistory", - "range": true, - "refId": "E", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"ClassDeclarationBlock\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "ClassDeclarationBlock", - "range": true, - "refId": "F", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"ClassDeclarations\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "ClassDeclarations", - "range": true, - "refId": "G", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"CompiledClassHashes\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "CompiledClassHashes", - "range": true, - "refId": "H", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"CompiledClasses\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "CompiledClasses", - "range": true, - "refId": "I", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"ContractInfo\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "ContractInfo", - "range": true, - "refId": "J", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"ContractInfoChangeSet\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "ContractInfoChangeSet", - "range": true, - "refId": "K", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"Headers\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Headers", - "range": true, - "refId": "L", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"NonceChangeHistory\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "NonceChangeHistory", - "range": true, - "refId": "M", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"Receipts\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Receipts", - "range": true, - "refId": "N", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"SierraClasses\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "SierraClasses", - "range": true, - "refId": "O", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"StorageChangeHistory\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "StorageChangeHistory", - "range": true, - "refId": "P", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"StorageChangeSet\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "StorageChangeSet", - "range": true, - "refId": "Q", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"Transactions\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Transactions", - "range": true, - "refId": "R", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"TxBlocks\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "TxBlocks", - "range": true, - "refId": "S", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"TxHashes\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "TxHashes", - "range": true, - "refId": "T", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"TxNumbers\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "TxNumbers", - "range": true, - "refId": "U", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_table_size{table=\"TxTraces\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "TxTraces", - "range": true, - "refId": "V", - "useBackend": false - } - ], - "title": "Table Sizes", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "Total storage capacity of the database", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "id": 127, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "center", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "11.1.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_freelist", - "fullMetaSearch": false, - "hide": true, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum(katana_db_table_size)", - "fullMetaSearch": false, - "hide": true, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "B", - "useBackend": false - }, - { - "datasource": { - "name": "Expression", - "type": "__expr__", - "uid": "__expr__" - }, - "expression": "$A + $B", - "hide": false, - "refId": "C", - "type": "math" - } - ], - "title": "Total Size", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 9 - }, - "id": 126, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "11.1.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_db_freelist", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Freelist", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Freelist Size", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 17 - }, - "id": 122, - "panels": [], - "title": "Execution", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "The total amount of L1 gas that has been processed", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "Total gas", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 18 - }, - "id": 121, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_block_producer_l1_gas_processed_total{instance=\"localhost:9100\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "L1 Gas Processed", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "The total amount of Cairo steps that has been processed", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "Total steps", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 18 - }, - "id": 123, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "katana_block_producer_cairo_steps_processed_total{instance=\"localhost:9100\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Cairo Steps Processed", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 26 - }, - "id": 108, - "panels": [], - "title": "RPC Server", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "http" - }, - "properties": [ - { - "id": "displayName", - "value": "HTTP" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "ws" - }, - "properties": [ - { - "id": "displayName", - "value": "WebSocket" - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 - }, - "id": 109, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "10.1.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "disableTextWrap": false, - "editorMode": "code", - "expr": "sum(katana_rpc_server_connections_connections_opened{instance=~\"$instance\"} - katana_rpc_server_connections_connections_closed{instance=~\"$instance\"}) by (transport)", - "format": "time_series", - "fullMetaSearch": false, - "includeNullMetadata": true, - "legendFormat": "{{transport}}", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Active Connections", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "", - "fieldConfig": { - "defaults": { - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "scaleDistribution": { - "type": "linear" - } - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "id": 111, - "maxDataPoints": 25, - "options": { - "calculate": false, - "cellGap": 1, - "cellValues": { - "unit": "s" - }, - "color": { - "exponent": 0.2, - "fill": "dark-orange", - "min": 0, - "mode": "opacity", - "reverse": false, - "scale": "exponential", - "scheme": "Oranges", - "steps": 128 - }, - "exemplars": { - "color": "rgba(255,0,255,0.7)" - }, - "filterValues": { - "le": 1e-9 - }, - "legend": { - "show": true - }, - "rowsFrame": { - "layout": "auto", - "value": "Latency time" - }, - "tooltip": { - "mode": "single", - "showColorScale": false, - "yHistogram": false - }, - "yAxis": { - "axisLabel": "Quantile", - "axisPlacement": "left", - "reverse": false, - "unit": "percentunit" - } - }, - "pluginVersion": "11.1.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "code", - "exemplar": false, - "expr": "avg(max_over_time(katana_rpc_server_connections_request_time_seconds{instance=~\"$instance\"}[$__rate_interval]) > 0) by (quantile)", - "format": "time_series", - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Request Latency time", - "type": "heatmap" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "points", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 35 - }, - "id": 120, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "10.1.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "code", - "expr": "max(max_over_time(katana_rpc_server_calls_time_seconds[$__rate_interval])) by (method) > 0", - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Maximum call latency per method", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "", - "fieldConfig": { - "defaults": { - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "scaleDistribution": { - "type": "linear" - } - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 35 - }, - "id": 112, - "maxDataPoints": 25, - "options": { - "calculate": false, - "cellGap": 1, - "cellValues": { - "unit": "s" - }, - "color": { - "exponent": 0.2, - "fill": "dark-orange", - "min": 0, - "mode": "opacity", - "reverse": false, - "scale": "exponential", - "scheme": "Oranges", - "steps": 128 - }, - "exemplars": { - "color": "rgba(255,0,255,0.7)" - }, - "filterValues": { - "le": 1e-9 - }, - "legend": { - "show": true - }, - "rowsFrame": { - "layout": "auto", - "value": "Latency time" - }, - "tooltip": { - "mode": "single", - "showColorScale": false, - "yHistogram": false - }, - "yAxis": { - "axisLabel": "Quantile", - "axisPlacement": "left", - "reverse": false, - "unit": "percentunit" - } - }, - "pluginVersion": "11.1.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "code", - "exemplar": false, - "expr": "avg(max_over_time(katana_rpc_server_calls_time_seconds{instance=~\"$instance\"}[$__rate_interval]) > 0) by (quantile)", - "format": "time_series", - "instant": false, - "legendFormat": "{{quantile}}", - "range": true, - "refId": "A" - } - ], - "title": "Call Latency time", - "type": "heatmap" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 43 - }, - "id": 97, - "panels": [], - "title": "Process", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "100% = 1 core", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 44 - }, - "id": 99, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "avg(rate(katana_process_cpu_seconds_total{instance=~\"$instance\"}[1m]))", - "instant": false, - "legendFormat": "Process", - "range": true, - "refId": "A" - } - ], - "title": "CPU", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 44 - }, - "id": 101, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "code", - "expr": "katana_process_resident_memory_bytes{instance=~\"$instance\"}", - "instant": false, - "legendFormat": "Resident", - "range": true, - "refId": "A" - } - ], - "title": "Memory", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 52 - }, - "id": 98, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "katana_jemalloc_active{instance=~\"$instance\"}", - "instant": false, - "legendFormat": "Active", - "range": true, - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "katana_jemalloc_allocated{instance=~\"$instance\"}", - "hide": false, - "instant": false, - "legendFormat": "Allocated", - "range": true, - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "katana_jemalloc_mapped{instance=~\"$instance\"}", - "hide": false, - "instant": false, - "legendFormat": "Mapped", - "range": true, - "refId": "C" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "katana_jemalloc_metadata{instance=~\"$instance\"}", - "hide": false, - "instant": false, - "legendFormat": "Metadata", - "range": true, - "refId": "D" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "katana_jemalloc_resident{instance=~\"$instance\"}", - "hide": false, - "instant": false, - "legendFormat": "Resident", - "range": true, - "refId": "E" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "katana_jemalloc_retained{instance=~\"$instance\"}", - "hide": false, - "instant": false, - "legendFormat": "Retained", - "range": true, - "refId": "F" - } - ], - "title": "Jemalloc Memory", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 52 - }, - "id": 100, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "editorMode": "builder", - "expr": "katana_process_open_fds{instance=~\"$instance\"}", - "instant": false, - "legendFormat": "Open", - "range": true, - "refId": "A" - } - ], - "title": "File Descriptors", - "type": "timeseries" - } - ], - "refresh": "5s", - "revision": 1, - "schemaVersion": 39, - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "localhost:9100", - "value": "localhost:9100" - }, - "datasource": { - "type": "prometheus", - "uid": "cdtkn4qt08kxsb" - }, - "definition": "query_result(up)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "instance", - "options": [], - "query": { - "query": "query_result(up)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 1, - "regex": "/.*instance=\\\"([^\\\"]*).*/", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-3h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "katana", - "uid": "2k8BXz24x", - "version": 13, - "weekStart": "" -} \ No newline at end of file diff --git a/scripts/compare-torii-data.py b/scripts/compare-torii-data.py new file mode 100755 index 0000000000..c792803eae --- /dev/null +++ b/scripts/compare-torii-data.py @@ -0,0 +1,103 @@ +# This script compares data across 'events', 'entities', 'transactions', 'balances', 'tokens', and 'erc_transfers' tables between two SQLite databases. +# Helpful to make sure any changes made in torii doesn't affect the resulting data. + +import sqlite3 +import argparse + +def fetch_table_data(db_path, table_name, columns): + conn = sqlite3.connect(db_path) + cursor = conn.cursor() + cursor.execute(f"SELECT {', '.join(columns)} FROM {table_name}") + data = cursor.fetchall() + conn.close() + if table_name == "erc_transfers": + # Use a set of tuples for row-wise comparison since there's no unique ID + return set(tuple(row) for row in data) + else: + # Use the first column as the key for other tables + return {row[0]: row[1:] for row in data} + +def get_table_row_count(db_path, table_name): + conn = sqlite3.connect(db_path) + cursor = conn.cursor() + cursor.execute(f"SELECT COUNT(*) FROM {table_name}") + count = cursor.fetchone()[0] + conn.close() + return count + +def compare_data(data1, data2, table_name): + if table_name == "erc_transfers": + differences = data1.symmetric_difference(data2) + if differences: + print(f"Differences found in {table_name} table:") + for row in differences: + print(f" {row}") + else: + print(f"No differences found in {table_name}") + else: + differences_found = False + for id, values in data1.items(): + if id in data2: + if values != data2[id]: + print(f"Mismatch found in {table_name} for ID {id}:") + print(f" Database 1: {values}") + print(f" Database 2: {data2[id]}") + differences_found = True + else: + print(f"ID {id} found in {table_name} of Database 1 but not in Database 2") + differences_found = True + + for id in data2: + if id not in data1: + print(f"ID {id} found in {table_name} of Database 2 but not in Database 1") + differences_found = True + + if not differences_found: + print(f"No differences found in {table_name}") + +def table_exists(db_path, table_name): + conn = sqlite3.connect(db_path) + cursor = conn.cursor() + cursor.execute(f"SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}'") + exists = cursor.fetchone() is not None + conn.close() + return exists + +def compare_databases(db_path1, db_path2): + # Columns to compare, ignoring time-dependent and event_id columns + table_columns = { + "events": ["id", "keys", "data", "transaction_hash"], + "entities": ["id", "keys"], + "transactions": ["id", "transaction_hash", "sender_address", "calldata", "max_fee", "signature", "nonce", "transaction_type"], + "balances": ["id", "balance", "account_address", "contract_address", "token_id"], + "tokens": ["id", "contract_address", "name", "symbol", "decimals"], + "erc_transfers": ["contract_address", "from_address", "to_address", "amount", "token_id"] + } + + for table_name, columns in table_columns.items(): + if table_exists(db_path1, table_name) and table_exists(db_path2, table_name): + print(f"\nComparing {table_name} table:") + + # Fetch data from both databases + data_db1 = fetch_table_data(db_path1, table_name, columns) + data_db2 = fetch_table_data(db_path2, table_name, columns) + + # Get row counts from both databases + count_db1 = get_table_row_count(db_path1, table_name) + count_db2 = get_table_row_count(db_path2, table_name) + + # Print row counts + print(f"Number of rows in {table_name} table: Database 1 = {count_db1}, Database 2 = {count_db2}") + + # Compare data + compare_data(data_db1, data_db2, table_name) + else: + print(f"\nSkipping {table_name} table as it doesn't exist in one or both databases.") + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Compare data in events, entities, transactions, balances, tokens, and erc_transfers tables between two SQLite databases.") + parser.add_argument("db_path1", help="Path to the first SQLite database") + parser.add_argument("db_path2", help="Path to the second SQLite database") + args = parser.parse_args() + + compare_databases(args.db_path1, args.db_path2) diff --git a/scripts/deploy_erc20_katana.sh b/scripts/deploy_erc20_katana.sh new file mode 100755 index 0000000000..3ad8d87937 --- /dev/null +++ b/scripts/deploy_erc20_katana.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +starkli deploy --account ../account.json --keystore ../signer.json --keystore-password "" 0x02a8846878b6ad1f54f6ba46f5f40e11cee755c677f130b2c4b60566c9003f1f 0x626c6f62 0x424c42 0x8 u256:10000000000 0xb3ff441a68610b30fd5e2abbf3a1548eb6ba6f3559f2862bf2dc757e5828ca --rpc http://localhost:5050 diff --git a/scripts/send_erc20_transfer.sh b/scripts/send_erc20_transfer.sh new file mode 100755 index 0000000000..b321d2fa19 --- /dev/null +++ b/scripts/send_erc20_transfer.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + echo "Error: Contract address argument is required." + echo "Usage: $0 " + exit 1 +fi + +contract_address=$1 +rpc="http://localhost:5050" + +starkli invoke $contract_address transfer 0x1234 u256:1 --account ../account.json --keystore ../signer.json --keystore-password "" --rpc $rpc diff --git a/scripts/verify_db_balances/Cargo.toml b/scripts/verify_db_balances/Cargo.toml new file mode 100644 index 0000000000..d7d9c03e0a --- /dev/null +++ b/scripts/verify_db_balances/Cargo.toml @@ -0,0 +1,16 @@ +[package] +edition.workspace = true +license.workspace = true +name = "verify_db_balances" +repository.workspace = true +version.workspace = true + +[dependencies] +num-traits = "0.2.19" +sqlx.workspace = true +starknet.workspace = true +tokio = { workspace = true, features = [ "full" ] } +tracing-subscriber.workspace = true +tracing.workspace = true + +clap.workspace = true diff --git a/scripts/verify_db_balances/src/main.rs b/scripts/verify_db_balances/src/main.rs new file mode 100644 index 0000000000..9c72b97f02 --- /dev/null +++ b/scripts/verify_db_balances/src/main.rs @@ -0,0 +1,157 @@ +use std::str::FromStr; +use std::sync::Arc; + +use clap::Parser; +use num_traits::ToPrimitive; +use sqlx::sqlite::SqlitePool; +use sqlx::Row; +use starknet::core::types::{BlockId, Felt, FunctionCall, U256}; +use starknet::macros::selector; +use starknet::providers::jsonrpc::HttpTransport; +use starknet::providers::{JsonRpcClient, Provider, Url}; +use tracing::{error, info, Level}; + +async fn get_balance_from_starknet( + account_address: &str, + contract_address: &str, + contract_type: &str, + token_id: &str, + provider: Arc>, +) -> Result> { + let account_address = Felt::from_str(account_address).unwrap(); + let contract_address = Felt::from_str(contract_address).unwrap(); + + let balance = match contract_type { + "ERC20" => { + let balance = provider + .call( + FunctionCall { + contract_address, + entry_point_selector: selector!("balanceOf"), + calldata: vec![account_address], + }, + BlockId::Tag(starknet::core::types::BlockTag::Pending), + ) + .await?; + + let balance_low = balance[0].to_u128().unwrap(); + let balance_high = balance[1].to_u128().unwrap(); + + let balance = U256::from_words(balance_low, balance_high); + format!("{:#064x}", balance) + } + "ERC721" => { + let token_id = Felt::from_str(token_id.split(":").nth(1).unwrap()).unwrap(); + let balance = provider + .call( + FunctionCall { + contract_address, + entry_point_selector: selector!("ownerOf"), + // HACK: assumes token_id.high == 0 + calldata: vec![token_id, Felt::ZERO], + }, + BlockId::Tag(starknet::core::types::BlockTag::Pending), + ) + .await?; + if account_address != balance[0] { + format!("{:#064x}", U256::from(0u8)) + } else { + format!("{:#064x}", U256::from(1u8)) + } + } + _ => unreachable!(), + }; + Ok(balance) +} + +#[derive(Parser, Debug)] +#[command(author, version, about, long_about = None)] +struct Args { + /// Path to the SQLite database file + #[arg(short, long)] + db_path: String, + + /// RPC URL for the Starknet provider + #[arg(short, long)] + rpc_url: String, +} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Initialize the logger + tracing_subscriber::fmt().with_max_level(Level::INFO).init(); + + // Parse command line arguments + let args = Args::parse(); + + // Use the provided database path + let pool = SqlitePool::connect(&format!("sqlite:{}", args.db_path)).await?; + + let rows = sqlx::query( + " + SELECT b.account_address, b.contract_address, b.balance, c.contract_type, b.token_id + FROM balances b + JOIN contracts c ON b.contract_address = c.contract_address + ", + ) + .fetch_all(&pool) + .await?; + + // Create a semaphore to limit concurrent tasks + let semaphore = std::sync::Arc::new(tokio::sync::Semaphore::new(10)); // Adjust the number as needed + + let mut handles = Vec::new(); + + // print number of balances + info!("Checking {} balances", rows.len()); + + let provider = + Arc::new(JsonRpcClient::new(HttpTransport::new(Url::parse(&args.rpc_url).unwrap()))); + + // IMPROVEMENT: batch multiple balanceOf calls in same rpc call + for row in rows { + let account_address: String = row.get("account_address"); + let contract_address: String = row.get("contract_address"); + let db_balance: String = row.get("balance"); + let contract_type: String = row.get("contract_type"); + let token_id: String = row.get("token_id"); + let semaphore_clone = semaphore.clone(); + let provider = provider.clone(); + + let handle = tokio::spawn(async move { + let _permit = semaphore_clone.acquire().await.unwrap(); + let starknet_balance = get_balance_from_starknet( + &account_address, + &contract_address, + &contract_type, + &token_id, + provider, + ) + .await?; + + if db_balance != starknet_balance { + error!( + "Mismatch for account {} and contract {}: DB balance = {}, Starknet balance = \ + {}", + account_address, contract_address, db_balance, starknet_balance + ); + } else { + info!( + "Balance matched for account {} and contract {}", + account_address, contract_address + ); + } + Ok::<(), Box>(()) + }); + + handles.push(handle); + } + + // Wait for all tasks to complete + for handle in handles { + handle.await??; + } + + info!("Checked all balances"); + Ok(()) +} diff --git a/spawn-and-move-db.tar.gz b/spawn-and-move-db.tar.gz index a7f95e1b16..83660e1286 100644 Binary files a/spawn-and-move-db.tar.gz and b/spawn-and-move-db.tar.gz differ diff --git a/types-test-db.tar.gz b/types-test-db.tar.gz index 5694495f0d..81ec4bd7b0 100644 Binary files a/types-test-db.tar.gz and b/types-test-db.tar.gz differ